add packets

This commit is contained in:
OurLobanov 2024-06-26 22:00:26 +03:00
parent e6ff3541d3
commit 32380c35ef
2 changed files with 17 additions and 2 deletions

View file

@ -36,7 +36,7 @@ import org.cloudburstmc.protocol.bedrock.codec.v291.serializer.SetEntityLinkSeri
import org.cloudburstmc.protocol.bedrock.codec.v390.serializer.PlayerSkinSerializer_v390; import org.cloudburstmc.protocol.bedrock.codec.v390.serializer.PlayerSkinSerializer_v390;
import org.cloudburstmc.protocol.bedrock.codec.v407.serializer.InventoryContentSerializer_v407; import org.cloudburstmc.protocol.bedrock.codec.v407.serializer.InventoryContentSerializer_v407;
import org.cloudburstmc.protocol.bedrock.codec.v407.serializer.InventorySlotSerializer_v407; import org.cloudburstmc.protocol.bedrock.codec.v407.serializer.InventorySlotSerializer_v407;
import org.cloudburstmc.protocol.bedrock.codec.v407.serializer.ItemStackRequestSerializer_v407; import org.cloudburstmc.protocol.bedrock.codec.v422.serializer.FilterTextSerializer_v422;
import org.cloudburstmc.protocol.bedrock.codec.v486.serializer.BossEventSerializer_v486; import org.cloudburstmc.protocol.bedrock.codec.v486.serializer.BossEventSerializer_v486;
import org.cloudburstmc.protocol.bedrock.codec.v554.serializer.TextSerializer_v554; import org.cloudburstmc.protocol.bedrock.codec.v554.serializer.TextSerializer_v554;
import org.cloudburstmc.protocol.bedrock.codec.v557.serializer.SetEntityDataSerializer_v557; import org.cloudburstmc.protocol.bedrock.codec.v557.serializer.SetEntityDataSerializer_v557;
@ -124,6 +124,14 @@ class CodecProcessor {
} }
}; };
private static final BedrockPacketSerializer<FilterTextPacket> FILTER_TEXT = new FilterTextSerializer_v422() {
@Override
public void deserialize(ByteBuf buffer, BedrockCodecHelper helper, FilterTextPacket packet) {
packet.setText(helper.readStringMaxLen(buffer, 512));
packet.setFromServer(buffer.readBoolean());
}
};
private static final BedrockPacketSerializer<CommandRequestPacket> COMMAND_REQUEST_SERIALIZER = new CommandRequestSerializer_v567() { private static final BedrockPacketSerializer<CommandRequestPacket> COMMAND_REQUEST_SERIALIZER = new CommandRequestSerializer_v567() {
@Override @Override
public void deserialize(ByteBuf buffer, BedrockCodecHelper helper, CommandRequestPacket packet) { public void deserialize(ByteBuf buffer, BedrockCodecHelper helper, CommandRequestPacket packet) {
@ -309,7 +317,7 @@ class CodecProcessor {
// Ignored bidirectional packets // Ignored bidirectional packets
codecBuilder.updateSerializer(TickSyncPacket.class, IGNORED_SERIALIZER); codecBuilder.updateSerializer(TickSyncPacket.class, IGNORED_SERIALIZER);
} }
codecBuilder.updateSerializer(FilterTextPacket.class, FILTER_TEXT);
codecBuilder.updateSerializer(CommandRequestPacket.class, COMMAND_REQUEST_SERIALIZER); codecBuilder.updateSerializer(CommandRequestPacket.class, COMMAND_REQUEST_SERIALIZER);
codecBuilder.updateSerializer(SetPlayerInventoryOptionsPacket.class, SET_PLAYER_INVENTORY_OPTIONS_SERIALIZER); codecBuilder.updateSerializer(SetPlayerInventoryOptionsPacket.class, SET_PLAYER_INVENTORY_OPTIONS_SERIALIZER);
if (codec.getProtocolVersion() >= 685) { if (codec.getProtocolVersion() >= 685) {

View file

@ -24,6 +24,13 @@ public class PacketCooldownManager {
setPacketCooldown(TextPacket.class, 1000, 50); setPacketCooldown(TextPacket.class, 1000, 50);
setPacketCooldown(CommandRequestPacket.class, 1000, 50); setPacketCooldown(CommandRequestPacket.class, 1000, 50);
setPacketCooldown(ModalFormResponsePacket.class, 1000, 50); setPacketCooldown(ModalFormResponsePacket.class, 1000, 50);
setPacketCooldown(BlockEntityDataPacket.class, 1000, 40);
setPacketCooldown(SetLocalPlayerAsInitializedPacket.class, 1000, 40);
setPacketCooldown(BlockPickRequestPacket.class, 1000, 40);
setPacketCooldown(EntityPickRequestPacket.class, 1000, 40);
setPacketCooldown(BookEditPacket.class, 1000, 40);
setPacketCooldown(FilterTextPacket.class, 1000, 40);
setPacketCooldown(LecternUpdatePacket.class, 1000, 10);
} }
public void setPacketCooldown(Class<? extends BedrockPacket> packetClass, int cooldownMillis, int maxCount) { public void setPacketCooldown(Class<? extends BedrockPacket> packetClass, int cooldownMillis, int maxCount) {