Исходник Spider FUNTIME Fence | Expensive 3.1

Начинающий
Статус
Оффлайн
Регистрация
8 Авг 2024
Сообщения
177
Реакции[?]
0
Поинты[?]
0
Придурак у тебя только поиск забора в инве 15 строк занимает) и нахуй вообще ты ищешь по всем 36 слотам если он из инва не перекладывает, тебя за это просто кикнет за это когда нибудь
В кт например
блин буковкой промазал ну ладно
 
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
226
Реакции[?]
1
Поинты[?]
1K
Придурак у тебя только поиск забора в инве 15 строк занимает) и нахуй вообще ты ищешь по всем 36 слотам если он из инва не перекладывает, тебя за это просто кикнет за это когда нибудь
Сократи слоты, убери бекспейсом разделение условия, я для каждого типа откладывал строчку для своего же удобства, а так это условие в одну строку спокойно пойдёт
Опять же, никто флай этот не сливал на юг и это мой первый слитый байпас, что ты от меня хочешь?
 
Начинающий
Статус
Оффлайн
Регистрация
8 Авг 2024
Сообщения
177
Реакции[?]
0
Поинты[?]
0
Сократи слоты, убери бекспейсом разделение условия, я для каждого типа откладывал строчку для своего же удобства, а так это условие в одну строку спокойно пойдёт
Опять же, никто флай этот не сливал на юг и это мой первый слитый байпас, что ты от меня хочешь?
Если это твой первый бупас то получилось совсем неплохо
 
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
226
Реакции[?]
1
Поинты[?]
1K
Что функцию надо доработать, а так вообще не знаю к чему это я
Ну так доработай, я тебе рабочий обход дал, ты можешь его немного переделать что бы он например сейвился от падения
 
Начинающий
Статус
Оффлайн
Регистрация
14 Июл 2024
Сообщения
190
Реакции[?]
1
Поинты[?]
1K
Сократи слоты, убери бекспейсом разделение условия, я для каждого типа откладывал строчку для своего же удобства, а так это условие в одну строку спокойно пойдёт
Опять же, никто флай этот не сливал на юг и это мой первый слитый байпас, что ты от меня хочешь?
Чтобы ты удалил эту тему и нихуя больше не постил
 
Начинающий
Статус
Оффлайн
Регистрация
8 Авг 2024
Сообщения
177
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
14 Июл 2024
Сообщения
190
Реакции[?]
1
Поинты[?]
1K
Ну так доработай, я тебе рабочий обход дал, ты можешь его немного переделать что бы он например сейвился от падения
Какой нахуй обход ты просто блок ставишь перед собой и прыгаешь
 
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
226
Реакции[?]
1
Поинты[?]
1K
Чтобы ты удалил эту тему и нихуя больше не постил
Я не понимаю, какой смысл тебе докапываться до кода, когда ты его можешь пофиксить за минуту-две
Я слил полностью рабочий обход под фантайм, улучшать или нет это исключительно дело тех, кто этот код возьмёт
Если это твой первый бупас то получилось совсем неплохо
thx
 
Начинающий
Статус
Оффлайн
Регистрация
14 Июл 2024
Сообщения
190
Реакции[?]
1
Поинты[?]
1K
Я не понимаю, какой смысл тебе докапываться до кода, когда ты его можешь пофиксить за минуту-две
Я слил полностью рабочий обход под фантайм, улучшать или нет это исключительно дело тех, кто этот код возьмёт
Потому что это и другие люди будут смотреть и кто то даже спиздит этот в свой ахуеный клиент
 
Начинающий
Статус
Оффлайн
Регистрация
8 Авг 2024
Сообщения
177
Реакции[?]
0
Поинты[?]
0
Какой нахуй обход ты просто блок ставишь перед собой и прыгаешь
Ну все ровно фича прикольная, можно на всяких копиях серверов так играть и ливать, может даже на оригинальных получится
 
Начинающий
Статус
Оффлайн
Регистрация
6 Дек 2023
Сообщения
226
Реакции[?]
1
Поинты[?]
1K
Какой нахуй обход ты просто блок ставишь перед собой и прыгаешь
Дельта клиент данную функцию называют обходом, почему бы и мне так не назвать?
может даже на оригинальных получится
ФТ ориг сервер если что, обход под его ац сделан
Потому что это и другие люди будут смотреть и кто то даже спиздит этот в свой ахуеный клиент
Пусть пиздят, мне то че, просто если тип не 10 летний школьник он поймёт что код с юг взят
 
Начинающий
Статус
Онлайн
Регистрация
11 Июл 2023
Сообщения
68
Реакции[?]
0
Поинты[?]
0
Сливаю вам байпасс спайдера aka FenceFly в дельте
Вам нужно:
1. Держать забор любого материала в хотбаре( с инвентаря будет в хаб кикать)
2. Поставить столб 2 забора в высоту
3. Встать в упор к заборам
4. Включить функцию и зажать W
Иногда может подфлагивать когда у вас заканчивается стак заборов и начинают ставиться новые
Так же иногда когда ставит последний забор может дать запрыгнуть на верх и не упасть, но вероятнее всего вы начнете падать, можете поставить под себя блок либо
улучшить чтоб последний забор оно ставило под игроком

SS =
FenceFly:
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
Предлагаю тебе слить сурсы своего клиента
 
Сверху Снизу