Реализована функции отправки пакетов клиенту

This commit is contained in:
RoyceDa
2026-02-03 00:18:53 +02:00
parent f4be7b4e00
commit c22d2de4be
6 changed files with 55 additions and 8 deletions

View File

@@ -10,10 +10,6 @@ public abstract class Packet {
public int packetId;
public PacketManager packetManager;
public Packet() {
}
/**
* Записывает данные пакета в поток. Исползуется при отправке
*

View File

@@ -1,6 +1,7 @@
package io.orprotocol.packet;
import io.orprotocol.Context;
import io.orprotocol.ProtocolException;
import io.orprotocol.Settings;
import io.orprotocol.client.Client;
@@ -32,5 +33,5 @@ public abstract class PacketExecutor {
* @param packet Пакет, полученный от клиента.
* @param client Клиент, отправивший пакет.
*/
public abstract void onPacketReceived(Packet packet, Client client);
public abstract void onPacketReceived(Packet packet, Client client) throws Exception, ProtocolException;
}

View File

@@ -42,10 +42,19 @@ public class PacketManager {
return this.packets.containsKey(packetId);
}
/**
* Возвращает зарегистрированные исполнители пакетов.
* @return Хэш-карта зарегистрированных исполнителей пакетов.
*/
public HashMap<Integer, Class<? extends PacketExecutor>> getExecutors() {
return this.executors;
}
/**
* Получает пакет ID по экземпляру класса
* @param packetClass Класс пакета
* @return ID пакета
*/
public Integer getPacketIdByClass(Class<? extends Packet> packetClass) {
for (var entry : this.packets.entrySet()) {
if (entry.getValue().equals(packetClass)) {