Spider FUNTIME Fence | Expensive 3.1

  • Автор темы Автор темы Moyten
  • Дата начала Дата начала
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Придурак у тебя только поиск забора в инве 15 строк занимает) и нахуй вообще ты ищешь по всем 36 слотам если он из инва не перекладывает, тебя за это просто кикнет за это когда нибудь
В кт например
блин буковкой промазал ну ладно
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Придурак у тебя только поиск забора в инве 15 строк занимает) и нахуй вообще ты ищешь по всем 36 слотам если он из инва не перекладывает, тебя за это просто кикнет за это когда нибудь
Сократи слоты, убери бекспейсом разделение условия, я для каждого типа откладывал строчку для своего же удобства, а так это условие в одну строку спокойно пойдёт
Опять же, никто флай этот не сливал на юг и это мой первый слитый байпас, что ты от меня хочешь?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сократи слоты, убери бекспейсом разделение условия, я для каждого типа откладывал строчку для своего же удобства, а так это условие в одну строку спокойно пойдёт
Опять же, никто флай этот не сливал на юг и это мой первый слитый байпас, что ты от меня хочешь?
Если это твой первый бупас то получилось совсем неплохо
 
Что функцию надо доработать, а так вообще не знаю к чему это я
Ну так доработай, я тебе рабочий обход дал, ты можешь его немного переделать что бы он например сейвился от падения
 
Сократи слоты, убери бекспейсом разделение условия, я для каждого типа откладывал строчку для своего же удобства, а так это условие в одну строку спокойно пойдёт
Опять же, никто флай этот не сливал на юг и это мой первый слитый байпас, что ты от меня хочешь?
Чтобы ты удалил эту тему и нихуя больше не постил
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну так доработай, я тебе рабочий обход дал, ты можешь его немного переделать что бы он например сейвился от падения
Какой нахуй обход ты просто блок ставишь перед собой и прыгаешь
 
Чтобы ты удалил эту тему и нихуя больше не постил
Я не понимаю, какой смысл тебе докапываться до кода, когда ты его можешь пофиксить за минуту-две
Я слил полностью рабочий обход под фантайм, улучшать или нет это исключительно дело тех, кто этот код возьмёт
Если это твой первый бупас то получилось совсем неплохо
thx
 
Я не понимаю, какой смысл тебе докапываться до кода, когда ты его можешь пофиксить за минуту-две
Я слил полностью рабочий обход под фантайм, улучшать или нет это исключительно дело тех, кто этот код возьмёт
Потому что это и другие люди будут смотреть и кто то даже спиздит этот в свой ахуеный клиент
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Какой нахуй обход ты просто блок ставишь перед собой и прыгаешь
Ну все ровно фича прикольная, можно на всяких копиях серверов так играть и ливать, может даже на оригинальных получится
 
Какой нахуй обход ты просто блок ставишь перед собой и прыгаешь
Дельта клиент данную функцию называют обходом, почему бы и мне так не назвать?
может даже на оригинальных получится
ФТ ориг сервер если что, обход под его ац сделан
Потому что это и другие люди будут смотреть и кто то даже спиздит этот в свой ахуеный клиент
Пусть пиздят, мне то че, просто если тип не 10 летний школьник он поймёт что код с юг взят
 
Сливаю вам байпасс спайдера aka FenceFly в дельте
Вам нужно:
1. Держать забор любого материала в хотбаре( с инвентаря будет в хаб кикать)
2. Поставить столб 2 забора в высоту
3. Встать в упор к заборам
4. Включить функцию и зажать W
Иногда может подфлагивать когда у вас заканчивается стак заборов и начинают ставиться новые
Так же иногда когда ставит последний забор может дать запрыгнуть на верх и не упасть, но вероятнее всего вы начнете падать, можете поставить под себя блок либо
улучшить чтоб последний забор оно ставило под игроком

SS =
FenceFly:
Expand Collapse Copy
package im.expensive.functions.impl.movement;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventMotion;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.MouseUtil;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.multiplayer.PlayerController;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Items;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World;

@FunctionRegister(name = "Spider", type = Category.Movement)
public class Spider extends Function {
    public ModeSetting mode = new ModeSetting("Mode", "Grim", "Grim", "Matrix", "Funtime Fence");
    private final SliderSetting spiderSpeed = new SliderSetting(
            "Speed",
            2.0f,
            1.0f,
            10.0f,
            0.05f
    ).setVisible(() -> !mode.is("Grim") && !mode.is("Funtime Fence"));

    StopWatch stopWatch = new StopWatch();

    public Spider() {
        addSettings(spiderSpeed, mode);
    }

    /**
     * author moyten
     * wonderful boost yoo
     */
    @Subscribe
    private void onMotion(EventMotion motion) {
        switch (mode.get()) {
            case "Matrix" -> {
                if (!mc.player.collidedHorizontally) {
                    return;
                }
                long speed = MathHelper.clamp(500 - (spiderSpeed.get().longValue() / 2 * 100), 0, 500);
                if (stopWatch.isReached(speed)) {
                    motion.setOnGround(true);
                    mc.player.setOnGround(true);
                    mc.player.collidedVertically = true;
                    mc.player.collidedHorizontally = true;
                    mc.player.isAirBorne = true;
                    mc.player.jump();
                    stopWatch.reset();
                }
            }
            case "Grim" -> {
                int slotInHotBar = getSlotInInventoryOrHotbar(true);

                if (slotInHotBar == -1) {
                    print("Блоки не найдены!");
                    toggle();
                    return;
                }
                if (!mc.player.collidedHorizontally) {
                    return;
                }
                if (mc.player.isOnGround()) {
                    motion.setOnGround(true);
                    mc.player.setOnGround(true);
                    mc.player.jump();
                }
                if (mc.player.fallDistance > 0 && mc.player.fallDistance < 2) {
                    placeBlocks(motion, slotInHotBar);
                }
            }
            case "Funtime Fence" -> {
                if (!mc.player.collidedHorizontally) {
                    return;
                }
                long speed = 200;
                if (stopWatch.isReached(speed)) {
                    motion.setOnGround(true);
                    mc.player.setOnGround(true);
                    mc.player.collidedVertically = true;
                    mc.player.collidedHorizontally = true;
                    mc.player.isAirBorne = true;
                    mc.player.jump();
                    placeFenceStack(motion);
                    stopWatch.reset();
                }
            }
        }
    }


    private void placeFenceStack(EventMotion motion) {
        int slotFence = getSlotForFence();
        if (slotFence == -1) {
            print("Заборы не найдены!");
            toggle();
            return;
        }

        int lastSlot = mc.player.inventory.currentItem;
        mc.player.inventory.currentItem = slotFence;

        BlockPos playerPos = mc.player.getPosition();

        for (int i = 1; i <= 2; i++) {
            BlockPos fencePos = playerPos.up(i);
            if (mc.world.getBlockState(fencePos).isAir()) {
                placeFenceBlock(fencePos, Hand.MAIN_HAND, mc.playerController, mc.world, mc.player);
            }
        }

        mc.player.inventory.currentItem = lastSlot;
    }
    private void placeFenceBlock(BlockPos pos, Hand hand, PlayerController playerController, World world, ClientPlayerEntity player) {
        if (!world.getBlockState(pos).isAir()) {
            return;
        }

        Direction direction = Direction.UP;
        BlockPos tPos = pos.down();
        BlockRayTraceResult traceResult = new BlockRayTraceResult(
                new Vector3d(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5),
                direction, tPos, false);

        playerController.processRightClickBlock(player, (ClientWorld) world, hand, traceResult);
        player.swingArm(hand);
    }


    private int getSlotForFence() {
        for (int i = 0; i < 36; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.OAK_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.BIRCH_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.SPRUCE_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.ACACIA_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.DARK_OAK_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.JUNGLE_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.CRIMSON_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.WARPED_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.NETHER_BRICK_FENCE) {
                return i;
            }
        }
        return -1;
    }

    public int getSlotInInventoryOrHotbar(boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;
        int finalSlot = -1;
        for (int i = firstSlot; i < lastSlot; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.TORCH) {
                continue;
            }

            if (mc.player.inventory.getStackInSlot(i).getItem() instanceof BlockItem
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.WATER_BUCKET) {
                finalSlot = i;
            }
        }

        return finalSlot;
    }

private void placeBlocks(EventMotion motion, int block) {
        int last = mc.player.inventory.currentItem;
        mc.player.inventory.currentItem = block;
        motion.setPitch(80);
        motion.setYaw(mc.player.getHorizontalFacing().getHorizontalAngle());
        BlockRayTraceResult r = (BlockRayTraceResult) MouseUtil.rayTrace(4, motion.getYaw(), motion.getPitch(), mc.player);
        mc.player.swingArm(Hand.MAIN_HAND);
        mc.playerController.processRightClickBlock(mc.player, mc.world, Hand.MAIN_HAND, r);
        mc.player.inventory.currentItem = last;
        mc.player.fallDistance = 0;
    }
}
Жду попкорна и данного обхода в каждом yougame client
Предлагаю тебе слить сурсы своего клиента
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сливаю вам байпасс спайдера aka FenceFly в дельте
Вам нужно:
1. Держать забор любого материала в хотбаре( с инвентаря будет в хаб кикать)
2. Поставить столб 2 забора в высоту
3. Встать в упор к заборам
4. Включить функцию и зажать W
Иногда может подфлагивать когда у вас заканчивается стак заборов и начинают ставиться новые
Так же иногда когда ставит последний забор может дать запрыгнуть на верх и не упасть, но вероятнее всего вы начнете падать, можете поставить под себя блок либо
улучшить чтоб последний забор оно ставило под игроком

SS =
FenceFly:
Expand Collapse Copy
package im.expensive.functions.impl.movement;

import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventMotion;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.math.StopWatch;
import im.expensive.utils.player.MouseUtil;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.client.multiplayer.PlayerController;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Items;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World;

@FunctionRegister(name = "Spider", type = Category.Movement)
public class Spider extends Function {
    public ModeSetting mode = new ModeSetting("Mode", "Grim", "Grim", "Matrix", "Funtime Fence");
    private final SliderSetting spiderSpeed = new SliderSetting(
            "Speed",
            2.0f,
            1.0f,
            10.0f,
            0.05f
    ).setVisible(() -> !mode.is("Grim") && !mode.is("Funtime Fence"));

    StopWatch stopWatch = new StopWatch();

    public Spider() {
        addSettings(spiderSpeed, mode);
    }

    /**
     * author moyten
     * wonderful boost yoo
     */
    @Subscribe
    private void onMotion(EventMotion motion) {
        switch (mode.get()) {
            case "Matrix" -> {
                if (!mc.player.collidedHorizontally) {
                    return;
                }
                long speed = MathHelper.clamp(500 - (spiderSpeed.get().longValue() / 2 * 100), 0, 500);
                if (stopWatch.isReached(speed)) {
                    motion.setOnGround(true);
                    mc.player.setOnGround(true);
                    mc.player.collidedVertically = true;
                    mc.player.collidedHorizontally = true;
                    mc.player.isAirBorne = true;
                    mc.player.jump();
                    stopWatch.reset();
                }
            }
            case "Grim" -> {
                int slotInHotBar = getSlotInInventoryOrHotbar(true);

                if (slotInHotBar == -1) {
                    print("Блоки не найдены!");
                    toggle();
                    return;
                }
                if (!mc.player.collidedHorizontally) {
                    return;
                }
                if (mc.player.isOnGround()) {
                    motion.setOnGround(true);
                    mc.player.setOnGround(true);
                    mc.player.jump();
                }
                if (mc.player.fallDistance > 0 && mc.player.fallDistance < 2) {
                    placeBlocks(motion, slotInHotBar);
                }
            }
            case "Funtime Fence" -> {
                if (!mc.player.collidedHorizontally) {
                    return;
                }
                long speed = 200;
                if (stopWatch.isReached(speed)) {
                    motion.setOnGround(true);
                    mc.player.setOnGround(true);
                    mc.player.collidedVertically = true;
                    mc.player.collidedHorizontally = true;
                    mc.player.isAirBorne = true;
                    mc.player.jump();
                    placeFenceStack(motion);
                    stopWatch.reset();
                }
            }
        }
    }


    private void placeFenceStack(EventMotion motion) {
        int slotFence = getSlotForFence();
        if (slotFence == -1) {
            print("Заборы не найдены!");
            toggle();
            return;
        }

        int lastSlot = mc.player.inventory.currentItem;
        mc.player.inventory.currentItem = slotFence;

        BlockPos playerPos = mc.player.getPosition();

        for (int i = 1; i <= 2; i++) {
            BlockPos fencePos = playerPos.up(i);
            if (mc.world.getBlockState(fencePos).isAir()) {
                placeFenceBlock(fencePos, Hand.MAIN_HAND, mc.playerController, mc.world, mc.player);
            }
        }

        mc.player.inventory.currentItem = lastSlot;
    }
    private void placeFenceBlock(BlockPos pos, Hand hand, PlayerController playerController, World world, ClientPlayerEntity player) {
        if (!world.getBlockState(pos).isAir()) {
            return;
        }

        Direction direction = Direction.UP;
        BlockPos tPos = pos.down();
        BlockRayTraceResult traceResult = new BlockRayTraceResult(
                new Vector3d(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5),
                direction, tPos, false);

        playerController.processRightClickBlock(player, (ClientWorld) world, hand, traceResult);
        player.swingArm(hand);
    }


    private int getSlotForFence() {
        for (int i = 0; i < 36; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.OAK_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.BIRCH_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.SPRUCE_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.ACACIA_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.DARK_OAK_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.JUNGLE_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.CRIMSON_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.WARPED_FENCE
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.NETHER_BRICK_FENCE) {
                return i;
            }
        }
        return -1;
    }

    public int getSlotInInventoryOrHotbar(boolean inHotBar) {
        int firstSlot = inHotBar ? 0 : 9;
        int lastSlot = inHotBar ? 9 : 36;
        int finalSlot = -1;
        for (int i = firstSlot; i < lastSlot; i++) {
            if (mc.player.inventory.getStackInSlot(i).getItem() == Items.TORCH) {
                continue;
            }

            if (mc.player.inventory.getStackInSlot(i).getItem() instanceof BlockItem
                    || mc.player.inventory.getStackInSlot(i).getItem() == Items.WATER_BUCKET) {
                finalSlot = i;
            }
        }

        return finalSlot;
    }

private void placeBlocks(EventMotion motion, int block) {
        int last = mc.player.inventory.currentItem;
        mc.player.inventory.currentItem = block;
        motion.setPitch(80);
        motion.setYaw(mc.player.getHorizontalFacing().getHorizontalAngle());
        BlockRayTraceResult r = (BlockRayTraceResult) MouseUtil.rayTrace(4, motion.getYaw(), motion.getPitch(), mc.player);
        mc.player.swingArm(Hand.MAIN_HAND);
        mc.playerController.processRightClickBlock(mc.player, mc.world, Hand.MAIN_HAND, r);
        mc.player.inventory.currentItem = last;
        mc.player.fallDistance = 0;
    }
}
Жду попкорна и данного обхода в каждом yougame client
слей худ паже
 
Назад
Сверху Снизу