Начинающий
- Статус
- Оффлайн
- Регистрация
- 29 Июл 2022
- Сообщения
- 194
- Реакции
- 5
вот у меня мср и мне надо с форджа перенести функцию как и чем мне заменить SubriceEvent
вот код
вот код
Java:
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());
}
}
}
}