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

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

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

Часть функционала AutoDodger | Expensive 3.1 |

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Янв 2023
Сообщения
11
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Не судите строго моя первая тема
доджит бафы пластом когда на вас кидают :roflanBuldiga:
Пожалуйста, авторизуйтесь для просмотра ссылки.


AutoDodger:
Expand Collapse Copy
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.projectile.PotionEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraftforge.eventbus.api.Event;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;

@FunctionRegister(
        name = "Dodger",
        type = Category.Movement
)
public class AutoDodge extends Function {

    private final Minecraft mc = Minecraft.getInstance();
    private long lastUseTime = 0;
    private final int cooldownMs = 1000;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.player == null || mc.world == null) return;
        if (System.currentTimeMillis() - lastUseTime < cooldownMs) return;

        for (Entity entity : mc.world.getAllEntities()) {
            if (!(entity instanceof PotionEntity)) continue;

            PotionEntity potion = (PotionEntity) entity;
            Vector3d motion = potion.getMotion();
            Vector3d toPlayer = mc.player.getPositionVec().subtract(potion.getPositionVec()).normalize();

            double dot = motion.normalize().dotProduct(toPlayer);

   
            if (dot > 0.8 && potion.getDistance(mc.player) < 6.0) {
                int kelpSlot = findKelpInHotbar();
                if (kelpSlot != -1) {
                    mc.player.inventory.currentItem = kelpSlot;
                    mc.gameSettings.keyBindUseItem.setPressed(true);
                    lastUseTime = System.currentTimeMillis();
                }
                break;
            }
        }
    }

    private int findKelpInHotbar() {
        for (int i = 0; i < 9; i++) {
            ItemStack stack = mc.player.inventory.getStackInSlot(i);
            if (!stack.isEmpty() && stack.getItem() == Items.DRIED_KELP) {
                return i;
            }
        }
        return -1;
    }

    @Override
    public void onDisable() {
        mc.gameSettings.keyBindUseItem.setPressed(false);
        lastUseTime = 0;
    }

    @Override
    public boolean onEvent(Event event) {
        return false;
    }
}
 
а че так, зачем держишь сам, может это ты сам ставишь, сс неправильный
 
Не судите строго моя первая тема
доджит бафы пластом когда на вас кидают :roflanBuldiga:
Пожалуйста, авторизуйтесь для просмотра ссылки.


AutoDodger:
Expand Collapse Copy
package im.expensive.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.projectile.PotionEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraftforge.eventbus.api.Event;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;

@FunctionRegister(
        name = "Dodger",
        type = Category.Movement
)
public class AutoDodge extends Function {

    private final Minecraft mc = Minecraft.getInstance();
    private long lastUseTime = 0;
    private final int cooldownMs = 1000;

    @Subscribe
    private void onUpdate(EventUpdate e) {
        if (mc.player == null || mc.world == null) return;
        if (System.currentTimeMillis() - lastUseTime < cooldownMs) return;

        for (Entity entity : mc.world.getAllEntities()) {
            if (!(entity instanceof PotionEntity)) continue;

            PotionEntity potion = (PotionEntity) entity;
            Vector3d motion = potion.getMotion();
            Vector3d toPlayer = mc.player.getPositionVec().subtract(potion.getPositionVec()).normalize();

            double dot = motion.normalize().dotProduct(toPlayer);

  
            if (dot > 0.8 && potion.getDistance(mc.player) < 6.0) {
                int kelpSlot = findKelpInHotbar();
                if (kelpSlot != -1) {
                    mc.player.inventory.currentItem = kelpSlot;
                    mc.gameSettings.keyBindUseItem.setPressed(true);
                    lastUseTime = System.currentTimeMillis();
                }
                break;
            }
        }
    }

    private int findKelpInHotbar() {
        for (int i = 0; i < 9; i++) {
            ItemStack stack = mc.player.inventory.getStackInSlot(i);
            if (!stack.isEmpty() && stack.getItem() == Items.DRIED_KELP) {
                return i;
            }
        }
        return -1;
    }

    @Override
    public void onDisable() {
        mc.gameSettings.keyBindUseItem.setPressed(false);
        lastUseTime = 0;
    }

    @Override
    public boolean onEvent(Event event) {
        return false;
    }
}
1752760694878.png
еще один :NotLikeThis:
 

Похожие темы

Назад
Сверху Снизу