- Выберите загрузчик игры
- Прочие моды
Не судите строго моя первая тема
доджит бафы пластом когда на вас кидают
доджит бафы пластом когда на вас кидают

Пожалуйста, авторизуйтесь для просмотра ссылки.
AutoDodger:
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;
}
}