Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Визуальная часть Простенький FakePlayer 3.1 / (mcp base 1.16.5)

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
5
Реакции
0
Выберите загрузчик игры
  1. Vanilla
всем ку. мой первый пост. решил слить FakePlayer. base expensive 3.1. можно и спастить и под другие клиенты это не так и сложно . имеется лгбт кода.
FakePlayer:
Expand Collapse Copy
package im.Abadonclient.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.Abadonclient.events.EventPacket;
import im.Abadonclient.events.EventUpdate;
import im.Abadonclient.functions.api.Category;
import im.Abadonclient.functions.api.Function;
import im.Abadonclient.functions.api.FunctionRegister;
import im.Abadonclient.functions.api.impl.BooleanSetting;
import im.Abadonclient.functions.impl.render.DeathEffect;
import net.minecraft.client.entity.player.RemoteClientPlayerEntity;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.entity.Entity;
import net.minecraft.util.Hand;
import net.minecraft.util.SoundEvents;

@FunctionRegister(name = "FakePlayer", type = Category.Player)
public class FakePlayer extends Function {

    private final BooleanSetting killable = new BooleanSetting("Можно убить", true);

    private RemoteClientPlayerEntity fakePlayer;
    private final int FAKE_PLAYER_ID = -1337;
    private long deathTime = 0;

    public FakePlayer() {
        addSettings(killable);
    }

    @Override
    public boolean onEnable() {
        super.onEnable();
        if (mc.world == null || mc.player == null) {
            toggle();
            return false;
        }
        spawnFakePlayer();
        return true;
    }

    @Override
    public boolean onDisable() {
        super.onDisable();
        if (mc.world != null && fakePlayer != null) {
            mc.world.removeEntityFromWorld(FAKE_PLAYER_ID);
            fakePlayer = null;
            deathTime = 0;
        }
        return true;
    }

    private void spawnFakePlayer() {
        fakePlayer = new RemoteClientPlayerEntity(mc.world, mc.player.getGameProfile());

        fakePlayer.copyLocationAndAnglesFrom(mc.player);
        fakePlayer.rotationYawHead = mc.player.rotationYawHead;
        fakePlayer.renderYawOffset = mc.player.renderYawOffset;
        fakePlayer.inventory.copyInventory(mc.player.inventory);

        fakePlayer.setHealth(20.0F);
        fakePlayer.setEntityId(FAKE_PLAYER_ID);
        mc.world.addEntity(FAKE_PLAYER_ID, fakePlayer);
    }

    @Subscribe
    public void onUpdate(EventUpdate e) {
        if (fakePlayer == null) return;

        if (killable.get() && fakePlayer.getHealth() <= 0) {
            if (deathTime == 0) {
                deathTime = System.currentTimeMillis();
                fakePlayer.deathTime = 1;


                if (DeathEffect.INSTANCE != null && DeathEffect.INSTANCE.isState()) {
                    DeathEffect.INSTANCE.spawnCrystals(fakePlayer.getPosX(), fakePlayer.getPosY() + fakePlayer.getHeight() / 2f, fakePlayer.getPosZ());
                    try {
                        im.Abadonclient.utils.client.ClientUtil.playSoundOneShot("glass_break", 80f);
                    } catch (Exception ignored) {}
                }
            }

            if (System.currentTimeMillis() - deathTime > 1500) {
                mc.world.removeEntityFromWorld(FAKE_PLAYER_ID);
                spawnFakePlayer();
                deathTime = 0;
            }
        } else {
            deathTime = 0;
        }
    }
    @Subscribe
    public void onPacket(EventPacket e) {
        if (e.isSend() && e.getPacket() instanceof CUseEntityPacket) {
            CUseEntityPacket packet = (CUseEntityPacket) e.getPacket();

            Entity target = packet.getEntityFromWorld(mc.world);


            if (target != null && target.getEntityId() == FAKE_PLAYER_ID) {
                e.cancel();

                if (packet.getAction() == CUseEntityPacket.Action.ATTACK) {
                    mc.player.swingArm(Hand.MAIN_HAND);


                    if (fakePlayer != null && fakePlayer.getHealth() > 0) {
                        fakePlayer.performHurtAnimation();
                        fakePlayer.playSound(SoundEvents.ENTITY_PLAYER_HURT, 1.0F, 1.0F);

                        if (killable.get()) {
                            fakePlayer.setHealth(fakePlayer.getHealth() - 2.0F);
                        }
                    }
                }
            }
        }
    }
}

Пожалуйста, авторизуйтесь для просмотра ссылки.
-YOUTUBE
 
Последнее редактирование:
всем ку. мой первый пост. решил слить FakePlayer. base expensive 3.1. можно и спастить и под другие клиенты это не так и сложно . имеется лгбт кода.
FakePlayer:
Expand Collapse Copy
package im.Abadonclient.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import im.Abadonclient.events.EventPacket;
import im.Abadonclient.events.EventUpdate;
import im.Abadonclient.functions.api.Category;
import im.Abadonclient.functions.api.Function;
import im.Abadonclient.functions.api.FunctionRegister;
import im.Abadonclient.functions.api.impl.BooleanSetting;
import im.Abadonclient.functions.impl.render.DeathEffect;
import net.minecraft.client.entity.player.RemoteClientPlayerEntity;
import net.minecraft.network.play.client.CUseEntityPacket;
import net.minecraft.entity.Entity;
import net.minecraft.util.Hand;
import net.minecraft.util.SoundEvents;

@FunctionRegister(name = "FakePlayer", type = Category.Player)
public class FakePlayer extends Function {

    private final BooleanSetting killable = new BooleanSetting("Можно убить", true);

    private RemoteClientPlayerEntity fakePlayer;
    private final int FAKE_PLAYER_ID = -1337;
    private long deathTime = 0;

    public FakePlayer() {
        addSettings(killable);
    }

    @Override
    public boolean onEnable() {
        super.onEnable();
        if (mc.world == null || mc.player == null) {
            toggle();
            return false;
        }
        spawnFakePlayer();
        return true;
    }

    @Override
    public boolean onDisable() {
        super.onDisable();
        if (mc.world != null && fakePlayer != null) {
            mc.world.removeEntityFromWorld(FAKE_PLAYER_ID);
            fakePlayer = null;
            deathTime = 0;
        }
        return true;
    }

    private void spawnFakePlayer() {
        fakePlayer = new RemoteClientPlayerEntity(mc.world, mc.player.getGameProfile());

        fakePlayer.copyLocationAndAnglesFrom(mc.player);
        fakePlayer.rotationYawHead = mc.player.rotationYawHead;
        fakePlayer.renderYawOffset = mc.player.renderYawOffset;
        fakePlayer.inventory.copyInventory(mc.player.inventory);

        fakePlayer.setHealth(20.0F);
        fakePlayer.setEntityId(FAKE_PLAYER_ID);
        mc.world.addEntity(FAKE_PLAYER_ID, fakePlayer);
    }

    @Subscribe
    public void onUpdate(EventUpdate e) {
        if (fakePlayer == null) return;

        if (killable.get() && fakePlayer.getHealth() <= 0) {
            if (deathTime == 0) {
                deathTime = System.currentTimeMillis();
                fakePlayer.deathTime = 1;


                if (DeathEffect.INSTANCE != null && DeathEffect.INSTANCE.isState()) {
                    DeathEffect.INSTANCE.spawnCrystals(fakePlayer.getPosX(), fakePlayer.getPosY() + fakePlayer.getHeight() / 2f, fakePlayer.getPosZ());
                    try {
                        im.Abadonclient.utils.client.ClientUtil.playSoundOneShot("glass_break", 80f);
                    } catch (Exception ignored) {}
                }
            }

            if (System.currentTimeMillis() - deathTime > 1500) {
                mc.world.removeEntityFromWorld(FAKE_PLAYER_ID);
                spawnFakePlayer();
                deathTime = 0;
            }
        } else {
            deathTime = 0;
        }
    }
    @Subscribe
    public void onPacket(EventPacket e) {
        if (e.isSend() && e.getPacket() instanceof CUseEntityPacket) {
            CUseEntityPacket packet = (CUseEntityPacket) e.getPacket();

            Entity target = packet.getEntityFromWorld(mc.world);


            if (target != null && target.getEntityId() == FAKE_PLAYER_ID) {
                e.cancel();

                if (packet.getAction() == CUseEntityPacket.Action.ATTACK) {
                    mc.player.swingArm(Hand.MAIN_HAND);


                    if (fakePlayer != null && fakePlayer.getHealth() > 0) {
                        fakePlayer.performHurtAnimation();
                        fakePlayer.playSound(SoundEvents.ENTITY_PLAYER_HURT, 1.0F, 1.0F);

                        if (killable.get()) {
                            fakePlayer.setHealth(fakePlayer.getHealth() - 2.0F);
                        }
                    }
                }
            }
        }
    }
}

Пожалуйста, авторизуйтесь для просмотра ссылки.
-YOUTUBE
ну норм но мне не нравиться что экспа
 
Назад
Сверху Снизу