• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Чем заменить @SubriceEvent

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
29 Июл 2022
Сообщения
194
Реакции
5
вот у меня мср и мне надо с форджа перенести функцию как и чем мне заменить SubriceEvent
вот код
Java:
Expand Collapse Copy
public class PearlBait extends Modules {

    public PearlBait() {
        super("PearlBait", "Телепортирует игрока на место, куда была брошена перл", Categorys.PLAYER);
    }

    public Setting<Boolean> guarantee = this.register(new Setting<>("Guarantee", true));

    private final Queue<CPacketPlayer> packets = new ConcurrentLinkedQueue<>();
    private int thrownPearlId = -1;

    @SubscribeEvent
    public void onPacketReceive(PacketEvent.Receive event) {
        if (event.getPacket() instanceof SPacketSpawnObject) {
            SPacketSpawnObject packet = (SPacketSpawnObject) event.getPacket();
            if (packet.getType() == 65) {
                mc.world.playerEntities.stream()
                        .min(Comparator.comparingDouble((p) -> p.getDistance(packet.getX(), packet.getY(), packet.getZ())))
                        .ifPresent((player) -> {
                            if (player.equals(mc.player)) {
                                if (mc.player.onGround) {
                                    mc.player.motionX = 0.0;
                                    mc.player.motionY = 0.0;
                                    mc.player.motionZ = 0.0;

                                    mc.player.movementInput.moveForward = 0.0f;
                                    mc.player.movementInput.moveStrafe = 0.0f;

                                    mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 1.0, mc.player.posZ, false));

                                    thrownPearlId = packet.getEntityID();
                                }
                            }
                        });
            }
        } else if (event.getPacket() instanceof CPacketPlayer && guarantee.getValue() && thrownPearlId != -1) {
            packets.add((CPacketPlayer) event.getPacket());
            event.setCanceled(true);
        }
    }

    @Override
    public void onUpdate() {
        if (thrownPearlId != -1) {
            for (Entity entity : mc.world.loadedEntityList) {
                if (entity.getEntityId() == thrownPearlId && entity instanceof EntityEnderPearl) {
                    EntityEnderPearl pearl = (EntityEnderPearl) entity;
                    if (pearl.isDead) {
                        thrownPearlId = -1;
                    }
                }
            }
        } else {
            if (!packets.isEmpty()) {
                do {
                    mc.player.connection.sendPacket(packets.poll());
                } while (!packets.isEmpty());
            }
        }
    }
}
 
Своей аннотацией если таковая имеется >~<
 
Для начала спасти систему ивентов, пойми как работает, ну там уже аннотация должна быть, обычно это @EventTarget
 
вот у меня мср и мне надо с форджа перенести функцию как и чем мне заменить SubriceEvent
вот код
Java:
Expand Collapse Copy
public class PearlBait extends Modules {

    public PearlBait() {
        super("PearlBait", "Телепортирует игрока на место, куда была брошена перл", Categorys.PLAYER);
    }

    public Setting<Boolean> guarantee = this.register(new Setting<>("Guarantee", true));

    private final Queue<CPacketPlayer> packets = new ConcurrentLinkedQueue<>();
    private int thrownPearlId = -1;

    @SubscribeEvent
    public void onPacketReceive(PacketEvent.Receive event) {
        if (event.getPacket() instanceof SPacketSpawnObject) {
            SPacketSpawnObject packet = (SPacketSpawnObject) event.getPacket();
            if (packet.getType() == 65) {
                mc.world.playerEntities.stream()
                        .min(Comparator.comparingDouble((p) -> p.getDistance(packet.getX(), packet.getY(), packet.getZ())))
                        .ifPresent((player) -> {
                            if (player.equals(mc.player)) {
                                if (mc.player.onGround) {
                                    mc.player.motionX = 0.0;
                                    mc.player.motionY = 0.0;
                                    mc.player.motionZ = 0.0;

                                    mc.player.movementInput.moveForward = 0.0f;
                                    mc.player.movementInput.moveStrafe = 0.0f;

                                    mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 1.0, mc.player.posZ, false));

                                    thrownPearlId = packet.getEntityID();
                                }
                            }
                        });
            }
        } else if (event.getPacket() instanceof CPacketPlayer && guarantee.getValue() && thrownPearlId != -1) {
            packets.add((CPacketPlayer) event.getPacket());
            event.setCanceled(true);
        }
    }

    @Override
    public void onUpdate() {
        if (thrownPearlId != -1) {
            for (Entity entity : mc.world.loadedEntityList) {
                if (entity.getEntityId() == thrownPearlId && entity instanceof EntityEnderPearl) {
                    EntityEnderPearl pearl = (EntityEnderPearl) entity;
                    if (pearl.isDead) {
                        thrownPearlId = -1;
                    }
                }
            }
        } else {
            if (!packets.isEmpty()) {
                do {
                    mc.player.connection.sendPacket(packets.poll());
                } while (!packets.isEmpty());
            }
        }
    }
}
Ты на фордж?
А все увидел если ты на риче и тд замени @EventTarget
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вот у меня мср и мне надо с форджа перенести функцию как и чем мне заменить SubriceEvent
вот код
Java:
Expand Collapse Copy
public class PearlBait extends Modules {

    public PearlBait() {
        super("PearlBait", "Телепортирует игрока на место, куда была брошена перл", Categorys.PLAYER);
    }

    public Setting<Boolean> guarantee = this.register(new Setting<>("Guarantee", true));

    private final Queue<CPacketPlayer> packets = new ConcurrentLinkedQueue<>();
    private int thrownPearlId = -1;

    @SubscribeEvent
    public void onPacketReceive(PacketEvent.Receive event) {
        if (event.getPacket() instanceof SPacketSpawnObject) {
            SPacketSpawnObject packet = (SPacketSpawnObject) event.getPacket();
            if (packet.getType() == 65) {
                mc.world.playerEntities.stream()
                        .min(Comparator.comparingDouble((p) -> p.getDistance(packet.getX(), packet.getY(), packet.getZ())))
                        .ifPresent((player) -> {
                            if (player.equals(mc.player)) {
                                if (mc.player.onGround) {
                                    mc.player.motionX = 0.0;
                                    mc.player.motionY = 0.0;
                                    mc.player.motionZ = 0.0;

                                    mc.player.movementInput.moveForward = 0.0f;
                                    mc.player.movementInput.moveStrafe = 0.0f;

                                    mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 1.0, mc.player.posZ, false));

                                    thrownPearlId = packet.getEntityID();
                                }
                            }
                        });
            }
        } else if (event.getPacket() instanceof CPacketPlayer && guarantee.getValue() && thrownPearlId != -1) {
            packets.add((CPacketPlayer) event.getPacket());
            event.setCanceled(true);
        }
    }

    @Override
    public void onUpdate() {
        if (thrownPearlId != -1) {
            for (Entity entity : mc.world.loadedEntityList) {
                if (entity.getEntityId() == thrownPearlId && entity instanceof EntityEnderPearl) {
                    EntityEnderPearl pearl = (EntityEnderPearl) entity;
                    if (pearl.isDead) {
                        thrownPearlId = -1;
                    }
                }
            }
        } else {
            if (!packets.isEmpty()) {
                do {
                    mc.player.connection.sendPacket(packets.poll());
                } while (!packets.isEmpty());
            }
        }
    }
}
скачай библиотеку лумбук и там будет этот твой SubriceEvent
 
вот у меня мср и мне надо с форджа перенести функцию как и чем мне заменить SubriceEvent
вот код
Java:
Expand Collapse Copy
public class PearlBait extends Modules {

    public PearlBait() {
        super("PearlBait", "Телепортирует игрока на место, куда была брошена перл", Categorys.PLAYER);
    }

    public Setting<Boolean> guarantee = this.register(new Setting<>("Guarantee", true));

    private final Queue<CPacketPlayer> packets = new ConcurrentLinkedQueue<>();
    private int thrownPearlId = -1;

    @SubscribeEvent
    public void onPacketReceive(PacketEvent.Receive event) {
        if (event.getPacket() instanceof SPacketSpawnObject) {
            SPacketSpawnObject packet = (SPacketSpawnObject) event.getPacket();
            if (packet.getType() == 65) {
                mc.world.playerEntities.stream()
                        .min(Comparator.comparingDouble((p) -> p.getDistance(packet.getX(), packet.getY(), packet.getZ())))
                        .ifPresent((player) -> {
                            if (player.equals(mc.player)) {
                                if (mc.player.onGround) {
                                    mc.player.motionX = 0.0;
                                    mc.player.motionY = 0.0;
                                    mc.player.motionZ = 0.0;

                                    mc.player.movementInput.moveForward = 0.0f;
                                    mc.player.movementInput.moveStrafe = 0.0f;

                                    mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 1.0, mc.player.posZ, false));

                                    thrownPearlId = packet.getEntityID();
                                }
                            }
                        });
            }
        } else if (event.getPacket() instanceof CPacketPlayer && guarantee.getValue() && thrownPearlId != -1) {
            packets.add((CPacketPlayer) event.getPacket());
            event.setCanceled(true);
        }
    }

    @Override
    public void onUpdate() {
        if (thrownPearlId != -1) {
            for (Entity entity : mc.world.loadedEntityList) {
                if (entity.getEntityId() == thrownPearlId && entity instanceof EntityEnderPearl) {
                    EntityEnderPearl pearl = (EntityEnderPearl) entity;
                    if (pearl.isDead) {
                        thrownPearlId = -1;
                    }
                }
            }
        } else {
            if (!packets.isEmpty()) {
                do {
                    mc.player.connection.sendPacket(packets.poll());
                } while (!packets.isEmpty());
            }
        }
    }
}
На твою систему евентов
 
вот у меня мср и мне надо с форджа перенести функцию как и чем мне заменить SubriceEvent
вот код
Java:
Expand Collapse Copy
public class PearlBait extends Modules {

    public PearlBait() {
        super("PearlBait", "Телепортирует игрока на место, куда была брошена перл", Categorys.PLAYER);
    }

    public Setting<Boolean> guarantee = this.register(new Setting<>("Guarantee", true));

    private final Queue<CPacketPlayer> packets = new ConcurrentLinkedQueue<>();
    private int thrownPearlId = -1;

    @SubscribeEvent
    public void onPacketReceive(PacketEvent.Receive event) {
        if (event.getPacket() instanceof SPacketSpawnObject) {
            SPacketSpawnObject packet = (SPacketSpawnObject) event.getPacket();
            if (packet.getType() == 65) {
                mc.world.playerEntities.stream()
                        .min(Comparator.comparingDouble((p) -> p.getDistance(packet.getX(), packet.getY(), packet.getZ())))
                        .ifPresent((player) -> {
                            if (player.equals(mc.player)) {
                                if (mc.player.onGround) {
                                    mc.player.motionX = 0.0;
                                    mc.player.motionY = 0.0;
                                    mc.player.motionZ = 0.0;

                                    mc.player.movementInput.moveForward = 0.0f;
                                    mc.player.movementInput.moveStrafe = 0.0f;

                                    mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 1.0, mc.player.posZ, false));

                                    thrownPearlId = packet.getEntityID();
                                }
                            }
                        });
            }
        } else if (event.getPacket() instanceof CPacketPlayer && guarantee.getValue() && thrownPearlId != -1) {
            packets.add((CPacketPlayer) event.getPacket());
            event.setCanceled(true);
        }
    }

    @Override
    public void onUpdate() {
        if (thrownPearlId != -1) {
            for (Entity entity : mc.world.loadedEntityList) {
                if (entity.getEntityId() == thrownPearlId && entity instanceof EntityEnderPearl) {
                    EntityEnderPearl pearl = (EntityEnderPearl) entity;
                    if (pearl.isDead) {
                        thrownPearlId = -1;
                    }
                }
            }
        } else {
            if (!packets.isEmpty()) {
                do {
                    mc.player.connection.sendPacket(packets.poll());
                } while (!packets.isEmpty());
            }
        }
    }
}
Короче, братух, тебе поможет @AllowConcurrentEvents на все случаи жизни с всякими Event
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в чём проблема спастить @SubscribeEvent? можно с рича попробывать
 
Назад
Сверху Снизу