Исходник NoFall | Excellent

Начинающий
Статус
Оффлайн
Регистрация
6 Авг 2024
Сообщения
105
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Хз кому то мб надо, работает на серверах с плохим ач, на фт работает по принципу если падаешь и завис то прост прописывай /spawn и не получишь урон
SS - прост nofall сс не нужен

CODE:
package dev.excellent.client.module.impl.player;

import dev.excellent.api.event.impl.player.MotionEvent;
import dev.excellent.api.interfaces.event.Listener;
import dev.excellent.client.module.api.Category;
import dev.excellent.client.module.api.Module;
import dev.excellent.client.module.api.ModuleInfo;

import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.player.ClientPlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d;

@ModuleInfo(name = "NoFall", description = "Не дает разбиться при падении", category = Category.PLAYER)
public class NoFall extends Module {

    private final Minecraft mc = Minecraft.getInstance();

    @Override
    protected void onEnable() {
        super.onEnable();
    }

    @Override
    protected void onDisable() {
        super.onDisable();
        if (mc.player != null) {
            mc.player.setOnGround(true);
            mc.player.setSneaking(false);
        }
    }

    private final Listener<MotionEvent> onMotion = event -> {
        if (mc.player != null) {
            ClientPlayerEntity player = mc.player;

            if (!isPlayerOnGround(player)) {
                double distanceToGround = getDistanceToGround(player);
                if (distanceToGround <= 1.0) {

                    player.setMotion(new Vector3d(player.getMotion().x, 0.1, player.getMotion().z)); // тут измени высоту прыжка
                    mc.player.fallDistance = 0;

                    if (player.isSneaking()) {
                        mc.player.setSneaking(true);
                    } else {
                        mc.player.setSneaking(false);
                    }
                } else {

                    mc.player.fallDistance = Math.max(mc.player.fallDistance - 0.5f, 0);
                }
            }
        }
    };

    private double getDistanceToGround(ClientPlayerEntity player) {
        BlockPos playerPos = new BlockPos(player.getPosX(), player.getPosY() - 1, player.getPosZ());
        for (int distance = 0; distance < 3; distance++) {
            if (!mc.world.isAirBlock(playerPos.down(distance))) {
                return distance;
            }
        }
        return 3;
    }

    private boolean isPlayerOnGround(ClientPlayerEntity player) {
        return player.isOnGround();
    }
}
 
Сверху Снизу