Начинающий
- Статус
- Оффлайн
- Регистрация
- 24 Июл 2024
- Сообщения
- 6
- Реакции
- 0
- Выберите загрузчик игры
- OptiFine
Всем самам по палам братишки пастеры, хочу слить для вас спайдер под спуки 1.16.5 пока что рабочий, он на ведре лавы так же само как и с ведром воды
ss - нету потому деф спайдер как на воде ток на лаве
Код:
ss - нету потому деф спайдер как на воде ток на лаве
Код:
Spider:
package dev.xsheyder.client.managers.module.impl.movement;
import dev.xsheyder.client.api.events.orbit.EventHandler;
import dev.xsheyder.client.managers.component.impl.rotation.Rotation;
import dev.xsheyder.client.managers.component.impl.rotation.RotationComponent;
import dev.xsheyder.client.managers.events.player.MotionEvent;
import dev.xsheyder.client.managers.module.Category;
import dev.xsheyder.client.managers.module.Module;
import dev.xsheyder.client.managers.module.ModuleInfo;
import dev.xsheyder.client.utils.time.TimerUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.util.Hand;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
@ModuleInfo(name = "Spider", category = Category.MOVEMENT, desc = "Лазание по стенам как паук")
public class Spider extends Module {
private final TimerUtil timerUtil = new TimerUtil();
private final Random random = new Random();
private Timer timer = new Timer();
private boolean canUse = true;
private long lastBucketUse = 0L;
@Override
public void toggle() {
super.toggle();
}
@Override
protected void onDisable() {
super.onDisable();
timer.cancel();
timer = new Timer();
canUse = true;
if (mc.gameSettings != null) {
mc.gameSettings.keyBindSneak.setPressed(false);
mc.gameSettings.keyBindJump.setPressed(false);
}
}
private int locateLavaBucket() {
for (int i = 0; i < 9; i++) {
ItemStack stack = mc.player.inventory.getStackInSlot(i);
if (stack != null && stack.getItem() == Items.LAVA_BUCKET)
return i;
}
return -1;
}
@EventHandler
public void onMotion(MotionEvent e) {
handleLavaBucketMode(e);
}
private void handleLavaBucketMode(MotionEvent e) {
if (mc.player == null) return;
Rotation aimed = new Rotation(mc.player.rotationYaw, 60.0F);
RotationComponent.update(aimed, 180.0F, 180.0F, 1, 5);
if (!mc.player.collidedHorizontally) {
if (mc.gameSettings.keyBindSneak.isKeyDown()) {
mc.gameSettings.keyBindSneak.setPressed(false);
}
} else {
int lavaSlot = locateLavaBucket();
if (lavaSlot != -1) {
if (canUse) {
int currentSlot = mc.player.inventory.currentItem;
if (lavaSlot != currentSlot) {
mc.player.connection.sendPacket(new CHeldItemChangePacket(lavaSlot));
}
mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
if (lavaSlot != currentSlot) {
mc.player.connection.sendPacket(new CHeldItemChangePacket(currentSlot));
}
double yBoost = 0.42 + random.nextDouble() * 0.03;
mc.player.motion.y = yBoost;
canUse = false;
timer.schedule(new TimerTask() {
@Override
public void run() {
canUse = true;
}
}, getAppliedDelayMs());
}
mc.gameSettings.keyBindSneak.setPressed(true);
}
}
}
private int getAppliedDelayMs() {
float base = 0.45F;
int ms = (int) (base * 1000.0F);
int offset = random.nextInt(60) - 30;
return Math.max(150, ms + offset);
}
}
Последнее редактирование: