Исходник TridentFly | Mcp 1.16.5

Начинающий
Статус
Оффлайн
Регистрация
12 Сен 2022
Сообщения
25
Реакции[?]
0
Поинты[?]
0
Флай на трезубце под Matrix или другие анти-читы. (Grim, Intave НЕ обходит)
Если коротко, то функция берет трезубец в левую руку, и начинает зажимать его, после чего сетается моушен , и можно летать как-бы на обычном моушен флае. (Можно сделать быстрее, тоже будет работать)
Есть проверка на дождь (Метод isUnderRain), если игрок не под дождем тогда флай не работает. (Для избежания лишних флагов)
В принципе на нем можно бить киллаурой , а так-же будет идти немного больше урона, из-за того что трезубец будет бить игрока, если вы наведетесь на него.

| Видео где я показываю флай -

TridentFly | Arbuz.CC:
package wtf.arbuz.client.modules.impl.movement;

import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.TridentItem;
import org.lwjgl.glfw.GLFW;
import wtf.arbuz.client.event.Event;
import wtf.arbuz.client.event.impl.player.EventUpdate;
import wtf.arbuz.client.modules.Module;
import wtf.arbuz.client.modules.ModuleInfo;
import wtf.arbuz.client.modules.Type;
import wtf.arbuz.client.util.movement.MoveUtility;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.World;

@ModuleInfo(name = "TridentFly", type = Type.MOVEMENT)
public class TridentFly extends Module {
    private int lastItemWindowId;
    private static final int swapDelay = 100;
    private long lastSwapTime = 0;
    private int originalTridentSlot = -1;

    public TridentFly() {
        this.bind = GLFW.GLFW_KEY_H;
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventUpdate) {
            if (isUnderRain()) {
                handleTridentFlying();
                handleTridentEquip();
                handleTridentUse();
            }
        }
    }

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

    private void handleTridentFlying() {
        if (isTridentFlying() && mc.player.fallDistance >= 1.1) {
            adjustPlayerMotion();
            MoveUtility.setMotion(2);
        }
    }

    private void adjustPlayerMotion() {
        mc.player.motion.y = 0.0;
        if (mc.gameSettings.keyBindJump.isKeyDown()) {
            mc.player.motion.y += 1;
        }
        if (mc.gameSettings.keyBindSneak.isKeyDown()) {
            mc.player.motion.y -= 1;
        }
    }

    private void handleTridentEquip() {
        if (!hasTridentEquipped() && !isTridentInOffhand()) {
            equipTrident();
        }
    }

    private void handleTridentUse() {
        if (isTridentInOffhand()) {
            mc.gameSettings.keyBindUseItem.setPressed(mc.player.ticksExisted % 16 < 15);
        } else {
            mc.gameSettings.keyBindUseItem.setPressed(false);
        }
    }

    private boolean isTridentFlying() {
        return mc.player.getHeldItemOffhand().getItem() instanceof TridentItem;
    }

    private void equipTrident() {
        int tridentSlot = getHotbarSlotOfItem();
        if (tridentSlot != -1) {
            long currentTime = System.currentTimeMillis();
            if (currentTime - lastSwapTime >= swapDelay) {
                prepareForTridentSwap(tridentSlot);
                performTridentSwap(tridentSlot);
                lastSwapTime = currentTime;
            }
        } else {
            toggle();
        }
    }

    private void prepareForTridentSwap(int tridentSlot) {
        lastItemWindowId = mc.player.openContainer.windowId;
        originalTridentSlot = tridentSlot;
    }

    private void performTridentSwap(int tridentSlot) {
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, 45, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.syncCurrentPlayItem();
    }

    private void unequipTrident() {
        if (originalTridentSlot != -1) {
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            int targetSlot = originalTridentSlot < 9 ? 36 + originalTridentSlot : originalTridentSlot;
            mc.playerController.windowClick(mc.player.openContainer.windowId, targetSlot, 0, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            originalTridentSlot = -1;
        }
    }

    private boolean hasTridentEquipped() {
        for (ItemStack stack : mc.player.inventory.offHandInventory) {
            if (stack.getItem() == Items.TRIDENT) {
                return true;
            }
        }
        return false;
    }

    private boolean isTridentInOffhand() {
        ItemStack offhandItem = mc.player.getHeldItemOffhand();
        return offhandItem.getItem() == Items.TRIDENT;
    }

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

    private boolean isUnderRain() {
        BlockPos playerPos = new BlockPos(mc.player.getPosX(), mc.player.getPosY(), mc.player.getPosZ());
        World world = mc.world;
        Biome biome = world.getBiome(playerPos);

        return world.isRaining() && biome.getPrecipitation() == Biome.RainType.RAIN && world.canSeeSky(playerPos);
    }
}
 
Забаненный
Статус
Оффлайн
Регистрация
28 Апр 2023
Сообщения
109
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
31 Дек 2020
Сообщения
268
Реакции[?]
13
Поинты[?]
2K
Флай на трезубце под Matrix или другие анти-читы. (Grim, Intave НЕ обходит)
Если коротко, то функция берет трезубец в левую руку, и начинает зажимать его, после чего сетается моушен , и можно летать как-бы на обычном моушен флае. (Можно сделать быстрее, тоже будет работать)
Есть проверка на дождь (Метод isUnderRain), если игрок не под дождем тогда флай не работает. (Для избежания лишних флагов)
В принципе на нем можно бить киллаурой , а так-же будет идти немного больше урона, из-за того что трезубец будет бить игрока, если вы наведетесь на него.

| Видео где я показываю флай -

TridentFly | Arbuz.CC:
package wtf.arbuz.client.modules.impl.movement;

import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.TridentItem;
import org.lwjgl.glfw.GLFW;
import wtf.arbuz.client.event.Event;
import wtf.arbuz.client.event.impl.player.EventUpdate;
import wtf.arbuz.client.modules.Module;
import wtf.arbuz.client.modules.ModuleInfo;
import wtf.arbuz.client.modules.Type;
import wtf.arbuz.client.util.movement.MoveUtility;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.World;

@ModuleInfo(name = "TridentFly", type = Type.MOVEMENT)
public class TridentFly extends Module {
    private int lastItemWindowId;
    private static final int swapDelay = 100;
    private long lastSwapTime = 0;
    private int originalTridentSlot = -1;

    public TridentFly() {
        this.bind = GLFW.GLFW_KEY_H;
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventUpdate) {
            if (isUnderRain()) {
                handleTridentFlying();
                handleTridentEquip();
                handleTridentUse();
            }
        }
    }

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

    private void handleTridentFlying() {
        if (isTridentFlying() && mc.player.fallDistance >= 1.1) {
            adjustPlayerMotion();
            MoveUtility.setMotion(2);
        }
    }

    private void adjustPlayerMotion() {
        mc.player.motion.y = 0.0;
        if (mc.gameSettings.keyBindJump.isKeyDown()) {
            mc.player.motion.y += 1;
        }
        if (mc.gameSettings.keyBindSneak.isKeyDown()) {
            mc.player.motion.y -= 1;
        }
    }

    private void handleTridentEquip() {
        if (!hasTridentEquipped() && !isTridentInOffhand()) {
            equipTrident();
        }
    }

    private void handleTridentUse() {
        if (isTridentInOffhand()) {
            mc.gameSettings.keyBindUseItem.setPressed(mc.player.ticksExisted % 16 < 15);
        } else {
            mc.gameSettings.keyBindUseItem.setPressed(false);
        }
    }

    private boolean isTridentFlying() {
        return mc.player.getHeldItemOffhand().getItem() instanceof TridentItem;
    }

    private void equipTrident() {
        int tridentSlot = getHotbarSlotOfItem();
        if (tridentSlot != -1) {
            long currentTime = System.currentTimeMillis();
            if (currentTime - lastSwapTime >= swapDelay) {
                prepareForTridentSwap(tridentSlot);
                performTridentSwap(tridentSlot);
                lastSwapTime = currentTime;
            }
        } else {
            toggle();
        }
    }

    private void prepareForTridentSwap(int tridentSlot) {
        lastItemWindowId = mc.player.openContainer.windowId;
        originalTridentSlot = tridentSlot;
    }

    private void performTridentSwap(int tridentSlot) {
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, 45, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.syncCurrentPlayItem();
    }

    private void unequipTrident() {
        if (originalTridentSlot != -1) {
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            int targetSlot = originalTridentSlot < 9 ? 36 + originalTridentSlot : originalTridentSlot;
            mc.playerController.windowClick(mc.player.openContainer.windowId, targetSlot, 0, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            originalTridentSlot = -1;
        }
    }

    private boolean hasTridentEquipped() {
        for (ItemStack stack : mc.player.inventory.offHandInventory) {
            if (stack.getItem() == Items.TRIDENT) {
                return true;
            }
        }
        return false;
    }

    private boolean isTridentInOffhand() {
        ItemStack offhandItem = mc.player.getHeldItemOffhand();
        return offhandItem.getItem() == Items.TRIDENT;
    }

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

    private boolean isUnderRain() {
        BlockPos playerPos = new BlockPos(mc.player.getPosX(), mc.player.getPosY(), mc.player.getPosZ());
        World world = mc.world;
        Biome biome = world.getBiome(playerPos);

        return world.isRaining() && biome.getPrecipitation() == Biome.RainType.RAIN && world.canSeeSky(playerPos);
    }
}
посоветуй норм сервер для хвх по типу рв
 
Забаненный
Статус
Оффлайн
Регистрация
4 Апр 2023
Сообщения
107
Реакции[?]
8
Поинты[?]
6K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как же сложно сделать обход под интейв аааааааааааааааааааааааа, берем пакет на GetPozPlayer (to minecraft (trident) true;
потом ставим 2 субфактора с кряка интейва и все ыхыхыхыхых
 
Начинающий
Статус
Оффлайн
Регистрация
24 Авг 2022
Сообщения
308
Реакции[?]
2
Поинты[?]
2K
как же сложно сделать обход под интейв аааааааааааааааааааааааа, берем пакет на GetPozPlayer (to minecraft (trident) true;
потом ставим 2 субфактора с кряка интейва и все ыхыхыхыхых
о нет, зачем ты слил всем этот лютейший обход?
 
Начинающий
Статус
Оффлайн
Регистрация
12 Окт 2022
Сообщения
227
Реакции[?]
1
Поинты[?]
0
Флай на трезубце под Matrix или другие анти-читы. (Grim, Intave НЕ обходит)
Если коротко, то функция берет трезубец в левую руку, и начинает зажимать его, после чего сетается моушен , и можно летать как-бы на обычном моушен флае. (Можно сделать быстрее, тоже будет работать)
Есть проверка на дождь (Метод isUnderRain), если игрок не под дождем тогда флай не работает. (Для избежания лишних флагов)
В принципе на нем можно бить киллаурой , а так-же будет идти немного больше урона, из-за того что трезубец будет бить игрока, если вы наведетесь на него.

| Видео где я показываю флай -

TridentFly | Arbuz.CC:
package wtf.arbuz.client.modules.impl.movement;

import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.TridentItem;
import org.lwjgl.glfw.GLFW;
import wtf.arbuz.client.event.Event;
import wtf.arbuz.client.event.impl.player.EventUpdate;
import wtf.arbuz.client.modules.Module;
import wtf.arbuz.client.modules.ModuleInfo;
import wtf.arbuz.client.modules.Type;
import wtf.arbuz.client.util.movement.MoveUtility;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.World;

@ModuleInfo(name = "TridentFly", type = Type.MOVEMENT)
public class TridentFly extends Module {
    private int lastItemWindowId;
    private static final int swapDelay = 100;
    private long lastSwapTime = 0;
    private int originalTridentSlot = -1;

    public TridentFly() {
        this.bind = GLFW.GLFW_KEY_H;
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventUpdate) {
            if (isUnderRain()) {
                handleTridentFlying();
                handleTridentEquip();
                handleTridentUse();
            }
        }
    }

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

    private void handleTridentFlying() {
        if (isTridentFlying() && mc.player.fallDistance >= 1.1) {
            adjustPlayerMotion();
            MoveUtility.setMotion(2);
        }
    }

    private void adjustPlayerMotion() {
        mc.player.motion.y = 0.0;
        if (mc.gameSettings.keyBindJump.isKeyDown()) {
            mc.player.motion.y += 1;
        }
        if (mc.gameSettings.keyBindSneak.isKeyDown()) {
            mc.player.motion.y -= 1;
        }
    }

    private void handleTridentEquip() {
        if (!hasTridentEquipped() && !isTridentInOffhand()) {
            equipTrident();
        }
    }

    private void handleTridentUse() {
        if (isTridentInOffhand()) {
            mc.gameSettings.keyBindUseItem.setPressed(mc.player.ticksExisted % 16 < 15);
        } else {
            mc.gameSettings.keyBindUseItem.setPressed(false);
        }
    }

    private boolean isTridentFlying() {
        return mc.player.getHeldItemOffhand().getItem() instanceof TridentItem;
    }

    private void equipTrident() {
        int tridentSlot = getHotbarSlotOfItem();
        if (tridentSlot != -1) {
            long currentTime = System.currentTimeMillis();
            if (currentTime - lastSwapTime >= swapDelay) {
                prepareForTridentSwap(tridentSlot);
                performTridentSwap(tridentSlot);
                lastSwapTime = currentTime;
            }
        } else {
            toggle();
        }
    }

    private void prepareForTridentSwap(int tridentSlot) {
        lastItemWindowId = mc.player.openContainer.windowId;
        originalTridentSlot = tridentSlot;
    }

    private void performTridentSwap(int tridentSlot) {
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, 45, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.syncCurrentPlayItem();
    }

    private void unequipTrident() {
        if (originalTridentSlot != -1) {
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            int targetSlot = originalTridentSlot < 9 ? 36 + originalTridentSlot : originalTridentSlot;
            mc.playerController.windowClick(mc.player.openContainer.windowId, targetSlot, 0, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            originalTridentSlot = -1;
        }
    }

    private boolean hasTridentEquipped() {
        for (ItemStack stack : mc.player.inventory.offHandInventory) {
            if (stack.getItem() == Items.TRIDENT) {
                return true;
            }
        }
        return false;
    }

    private boolean isTridentInOffhand() {
        ItemStack offhandItem = mc.player.getHeldItemOffhand();
        return offhandItem.getItem() == Items.TRIDENT;
    }

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

    private boolean isUnderRain() {
        BlockPos playerPos = new BlockPos(mc.player.getPosX(), mc.player.getPosY(), mc.player.getPosZ());
        World world = mc.world;
        Biome biome = world.getBiome(playerPos);

        return world.isRaining() && biome.getPrecipitation() == Biome.RainType.RAIN && world.canSeeSky(playerPos);
    }
}
EC29BD23-B890-4795-A356-1160D67104D6.jpeg
 
Начинающий
Статус
Оффлайн
Регистрация
8 Июн 2023
Сообщения
244
Реакции[?]
1
Поинты[?]
1K
ух ебать сначала wtf.chatgpt, щас wtf.арбуз, а потом чё??? wtf.пенис???
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
28 Апр 2023
Сообщения
109
Реакции[?]
2
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Да ему дединсайд гуишку дал.
я тебе так скажу,дединсайд ему весь чит написал,ибо наш chatgpt не осилил бы даже систему евентов,а ему дединсайд подогнал гуи,просто (он был в гс нурлана и мне это сказал) дединсайд ему весь чит написал лл ты шо)
 
Начинающий
Статус
Оффлайн
Регистрация
10 Авг 2023
Сообщения
17
Реакции[?]
0
Поинты[?]
0
Забаненный
Статус
Оффлайн
Регистрация
9 Июн 2023
Сообщения
40
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
чо за база?
 
Начинающий
Статус
Оффлайн
Регистрация
17 Апр 2023
Сообщения
181
Реакции[?]
2
Поинты[?]
0
1694894027487.pngWTFFFFFFF!!!!!!!!!!!!!!!!!!!!!! RIKIR SPASTIL S NINERII AAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Начинающий
Статус
Оффлайн
Регистрация
27 Окт 2023
Сообщения
21
Реакции[?]
0
Поинты[?]
0
Флай на трезубце под Matrix или другие анти-читы. (Grim, Intave НЕ обходит)
Если коротко, то функция берет трезубец в левую руку, и начинает зажимать его, после чего сетается моушен , и можно летать как-бы на обычном моушен флае. (Можно сделать быстрее, тоже будет работать)
Есть проверка на дождь (Метод isUnderRain), если игрок не под дождем тогда флай не работает. (Для избежания лишних флагов)
В принципе на нем можно бить киллаурой , а так-же будет идти немного больше урона, из-за того что трезубец будет бить игрока, если вы наведетесь на него.

| Видео где я показываю флай -

TridentFly | Arbuz.CC:
package wtf.arbuz.client.modules.impl.movement;

import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.TridentItem;
import org.lwjgl.glfw.GLFW;
import wtf.arbuz.client.event.Event;
import wtf.arbuz.client.event.impl.player.EventUpdate;
import wtf.arbuz.client.modules.Module;
import wtf.arbuz.client.modules.ModuleInfo;
import wtf.arbuz.client.modules.Type;
import wtf.arbuz.client.util.movement.MoveUtility;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.World;

@ModuleInfo(name = "TridentFly", type = Type.MOVEMENT)
public class TridentFly extends Module {
    private int lastItemWindowId;
    private static final int swapDelay = 100;
    private long lastSwapTime = 0;
    private int originalTridentSlot = -1;

    public TridentFly() {
        this.bind = GLFW.GLFW_KEY_H;
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventUpdate) {
            if (isUnderRain()) {
                handleTridentFlying();
                handleTridentEquip();
                handleTridentUse();
            }
        }
    }

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

    private void handleTridentFlying() {
        if (isTridentFlying() && mc.player.fallDistance >= 1.1) {
            adjustPlayerMotion();
            MoveUtility.setMotion(2);
        }
    }

    private void adjustPlayerMotion() {
        mc.player.motion.y = 0.0;
        if (mc.gameSettings.keyBindJump.isKeyDown()) {
            mc.player.motion.y += 1;
        }
        if (mc.gameSettings.keyBindSneak.isKeyDown()) {
            mc.player.motion.y -= 1;
        }
    }

    private void handleTridentEquip() {
        if (!hasTridentEquipped() && !isTridentInOffhand()) {
            equipTrident();
        }
    }

    private void handleTridentUse() {
        if (isTridentInOffhand()) {
            mc.gameSettings.keyBindUseItem.setPressed(mc.player.ticksExisted % 16 < 15);
        } else {
            mc.gameSettings.keyBindUseItem.setPressed(false);
        }
    }

    private boolean isTridentFlying() {
        return mc.player.getHeldItemOffhand().getItem() instanceof TridentItem;
    }

    private void equipTrident() {
        int tridentSlot = getHotbarSlotOfItem();
        if (tridentSlot != -1) {
            long currentTime = System.currentTimeMillis();
            if (currentTime - lastSwapTime >= swapDelay) {
                prepareForTridentSwap(tridentSlot);
                performTridentSwap(tridentSlot);
                lastSwapTime = currentTime;
            }
        } else {
            toggle();
        }
    }

    private void prepareForTridentSwap(int tridentSlot) {
        lastItemWindowId = mc.player.openContainer.windowId;
        originalTridentSlot = tridentSlot;
    }

    private void performTridentSwap(int tridentSlot) {
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, 45, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.syncCurrentPlayItem();
    }

    private void unequipTrident() {
        if (originalTridentSlot != -1) {
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            int targetSlot = originalTridentSlot < 9 ? 36 + originalTridentSlot : originalTridentSlot;
            mc.playerController.windowClick(mc.player.openContainer.windowId, targetSlot, 0, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            originalTridentSlot = -1;
        }
    }

    private boolean hasTridentEquipped() {
        for (ItemStack stack : mc.player.inventory.offHandInventory) {
            if (stack.getItem() == Items.TRIDENT) {
                return true;
            }
        }
        return false;
    }

    private boolean isTridentInOffhand() {
        ItemStack offhandItem = mc.player.getHeldItemOffhand();
        return offhandItem.getItem() == Items.TRIDENT;
    }

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

    private boolean isUnderRain() {
        BlockPos playerPos = new BlockPos(mc.player.getPosX(), mc.player.getPosY(), mc.player.getPosZ());
        World world = mc.world;
        Biome biome = world.getBiome(playerPos);

        return world.isRaining() && biome.getPrecipitation() == Biome.RainType.RAIN && world.canSeeSky(playerPos);
    }
}
Рикир хавтет пастит уче жаву
 
Начинающий
Статус
Оффлайн
Регистрация
21 Дек 2022
Сообщения
68
Реакции[?]
0
Поинты[?]
0
Флай на трезубце под Matrix или другие анти-читы. (Grim, Intave НЕ обходит)
Если коротко, то функция берет трезубец в левую руку, и начинает зажимать его, после чего сетается моушен , и можно летать как-бы на обычном моушен флае. (Можно сделать быстрее, тоже будет работать)
Есть проверка на дождь (Метод isUnderRain), если игрок не под дождем тогда флай не работает. (Для избежания лишних флагов)
В принципе на нем можно бить киллаурой , а так-же будет идти немного больше урона, из-за того что трезубец будет бить игрока, если вы наведетесь на него.

| Видео где я показываю флай -

TridentFly | Arbuz.CC:
package wtf.arbuz.client.modules.impl.movement;

import net.minecraft.inventory.container.ClickType;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.item.TridentItem;
import org.lwjgl.glfw.GLFW;
import wtf.arbuz.client.event.Event;
import wtf.arbuz.client.event.impl.player.EventUpdate;
import wtf.arbuz.client.modules.Module;
import wtf.arbuz.client.modules.ModuleInfo;
import wtf.arbuz.client.modules.Type;
import wtf.arbuz.client.util.movement.MoveUtility;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.World;

@ModuleInfo(name = "TridentFly", type = Type.MOVEMENT)
public class TridentFly extends Module {
    private int lastItemWindowId;
    private static final int swapDelay = 100;
    private long lastSwapTime = 0;
    private int originalTridentSlot = -1;

    public TridentFly() {
        this.bind = GLFW.GLFW_KEY_H;
    }

    @Override
    public void onEvent(Event event) {
        if (event instanceof EventUpdate) {
            if (isUnderRain()) {
                handleTridentFlying();
                handleTridentEquip();
                handleTridentUse();
            }
        }
    }

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

    private void handleTridentFlying() {
        if (isTridentFlying() && mc.player.fallDistance >= 1.1) {
            adjustPlayerMotion();
            MoveUtility.setMotion(2);
        }
    }

    private void adjustPlayerMotion() {
        mc.player.motion.y = 0.0;
        if (mc.gameSettings.keyBindJump.isKeyDown()) {
            mc.player.motion.y += 1;
        }
        if (mc.gameSettings.keyBindSneak.isKeyDown()) {
            mc.player.motion.y -= 1;
        }
    }

    private void handleTridentEquip() {
        if (!hasTridentEquipped() && !isTridentInOffhand()) {
            equipTrident();
        }
    }

    private void handleTridentUse() {
        if (isTridentInOffhand()) {
            mc.gameSettings.keyBindUseItem.setPressed(mc.player.ticksExisted % 16 < 15);
        } else {
            mc.gameSettings.keyBindUseItem.setPressed(false);
        }
    }

    private boolean isTridentFlying() {
        return mc.player.getHeldItemOffhand().getItem() instanceof TridentItem;
    }

    private void equipTrident() {
        int tridentSlot = getHotbarSlotOfItem();
        if (tridentSlot != -1) {
            long currentTime = System.currentTimeMillis();
            if (currentTime - lastSwapTime >= swapDelay) {
                prepareForTridentSwap(tridentSlot);
                performTridentSwap(tridentSlot);
                lastSwapTime = currentTime;
            }
        } else {
            toggle();
        }
    }

    private void prepareForTridentSwap(int tridentSlot) {
        lastItemWindowId = mc.player.openContainer.windowId;
        originalTridentSlot = tridentSlot;
    }

    private void performTridentSwap(int tridentSlot) {
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, 45, 0, ClickType.PICKUP, mc.player);
        mc.playerController.windowClick(lastItemWindowId, tridentSlot, 0, ClickType.PICKUP, mc.player);
        mc.playerController.syncCurrentPlayItem();
    }

    private void unequipTrident() {
        if (originalTridentSlot != -1) {
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            int targetSlot = originalTridentSlot < 9 ? 36 + originalTridentSlot : originalTridentSlot;
            mc.playerController.windowClick(mc.player.openContainer.windowId, targetSlot, 0, ClickType.PICKUP, mc.player);
            mc.playerController.windowClick(mc.player.openContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
            originalTridentSlot = -1;
        }
    }

    private boolean hasTridentEquipped() {
        for (ItemStack stack : mc.player.inventory.offHandInventory) {
            if (stack.getItem() == Items.TRIDENT) {
                return true;
            }
        }
        return false;
    }

    private boolean isTridentInOffhand() {
        ItemStack offhandItem = mc.player.getHeldItemOffhand();
        return offhandItem.getItem() == Items.TRIDENT;
    }

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

    private boolean isUnderRain() {
        BlockPos playerPos = new BlockPos(mc.player.getPosX(), mc.player.getPosY(), mc.player.getPosZ());
        World world = mc.world;
        Biome biome = world.getBiome(playerPos);

        return world.isRaining() && biome.getPrecipitation() == Biome.RainType.RAIN && world.canSeeSky(playerPos);
    }
}
и нахуй
 
Сверху Снизу