mirror of
https://github.com/Nan1t/NanoLimbo.git
synced 2025-07-14 13:20:12 +02:00
Encoding != Rendering. Renamed confusing class name
This commit is contained in:
parent
5c94dcffea
commit
1c6da4ee0a
@ -7,7 +7,7 @@ import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
||||
import ru.nanit.limbo.LimboConstants;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.PreRenderedPacket;
|
||||
import ru.nanit.limbo.protocol.PreEncodedPacket;
|
||||
import ru.nanit.limbo.protocol.packets.login.*;
|
||||
import ru.nanit.limbo.protocol.packets.play.*;
|
||||
import ru.nanit.limbo.connection.pipeline.PacketDecoder;
|
||||
@ -34,14 +34,14 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
|
||||
private static PreRenderedPacket PACKET_LOGIN_SUCCESS;
|
||||
private static PreRenderedPacket PACKET_JOIN_GAME;
|
||||
private static PreRenderedPacket PACKET_PLAYER_ABILITIES;
|
||||
private static PreRenderedPacket PACKET_PLAYER_INFO;
|
||||
private static PreRenderedPacket PACKET_DECLARE_COMMANDS;
|
||||
private static PreRenderedPacket PACKET_PLAYER_POS;
|
||||
private static PreRenderedPacket PACKET_JOIN_MESSAGE;
|
||||
private static PreRenderedPacket PACKET_BOSS_BAR;
|
||||
private static PreEncodedPacket PACKET_LOGIN_SUCCESS;
|
||||
private static PreEncodedPacket PACKET_JOIN_GAME;
|
||||
private static PreEncodedPacket PACKET_PLAYER_ABILITIES;
|
||||
private static PreEncodedPacket PACKET_PLAYER_INFO;
|
||||
private static PreEncodedPacket PACKET_DECLARE_COMMANDS;
|
||||
private static PreEncodedPacket PACKET_PLAYER_POS;
|
||||
private static PreEncodedPacket PACKET_JOIN_MESSAGE;
|
||||
private static PreEncodedPacket PACKET_BOSS_BAR;
|
||||
|
||||
private final LimboServer server;
|
||||
private final Channel channel;
|
||||
@ -318,26 +318,26 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
PacketDeclareCommands declareCommands = new PacketDeclareCommands();
|
||||
declareCommands.setCommands(Collections.singletonList("limbo"));
|
||||
|
||||
PACKET_LOGIN_SUCCESS = PreRenderedPacket.of(loginSuccess);
|
||||
PACKET_JOIN_GAME = PreRenderedPacket.of(joinGame);
|
||||
PACKET_PLAYER_ABILITIES = PreRenderedPacket.of(playerAbilities);
|
||||
PACKET_PLAYER_POS = PreRenderedPacket.of(positionAndLook);
|
||||
PACKET_PLAYER_INFO = PreRenderedPacket.of(info);
|
||||
PACKET_DECLARE_COMMANDS = PreRenderedPacket.of(declareCommands);
|
||||
PACKET_LOGIN_SUCCESS = PreEncodedPacket.of(loginSuccess);
|
||||
PACKET_JOIN_GAME = PreEncodedPacket.of(joinGame);
|
||||
PACKET_PLAYER_ABILITIES = PreEncodedPacket.of(playerAbilities);
|
||||
PACKET_PLAYER_POS = PreEncodedPacket.of(positionAndLook);
|
||||
PACKET_PLAYER_INFO = PreEncodedPacket.of(info);
|
||||
PACKET_DECLARE_COMMANDS = PreEncodedPacket.of(declareCommands);
|
||||
|
||||
if (server.getConfig().isUseJoinMessage()){
|
||||
PacketChatMessage joinMessage = new PacketChatMessage();
|
||||
joinMessage.setJsonData(server.getConfig().getJoinMessage());
|
||||
joinMessage.setPosition(PacketChatMessage.Position.CHAT);
|
||||
joinMessage.setSender(UUID.randomUUID());
|
||||
PACKET_JOIN_MESSAGE = PreRenderedPacket.of(joinMessage);
|
||||
PACKET_JOIN_MESSAGE = PreEncodedPacket.of(joinMessage);
|
||||
}
|
||||
|
||||
if (server.getConfig().isUseBossBar()){
|
||||
PacketBossBar bossBar = new PacketBossBar();
|
||||
bossBar.setBossBar(server.getConfig().getBossBar());
|
||||
bossBar.setUuid(UUID.randomUUID());
|
||||
PACKET_BOSS_BAR = PreRenderedPacket.of(bossBar);
|
||||
PACKET_BOSS_BAR = PreEncodedPacket.of(bossBar);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.handler.codec.MessageToByteEncoder;
|
||||
import ru.nanit.limbo.protocol.ByteMessage;
|
||||
import ru.nanit.limbo.protocol.Packet;
|
||||
import ru.nanit.limbo.protocol.PreRenderedPacket;
|
||||
import ru.nanit.limbo.protocol.PreEncodedPacket;
|
||||
import ru.nanit.limbo.protocol.registry.State;
|
||||
import ru.nanit.limbo.util.Logger;
|
||||
|
||||
@ -24,8 +24,8 @@ public class PacketEncoder extends MessageToByteEncoder<Packet> {
|
||||
ByteMessage msg = new ByteMessage(out);
|
||||
int packetId;
|
||||
|
||||
if (packet instanceof PreRenderedPacket){
|
||||
packetId = registry.getPacketId(((PreRenderedPacket)packet).getWrappedPacket().getClass());
|
||||
if (packet instanceof PreEncodedPacket){
|
||||
packetId = registry.getPacketId(((PreEncodedPacket)packet).getWrappedPacket().getClass());
|
||||
} else {
|
||||
packetId = registry.getPacketId(packet.getClass());
|
||||
}
|
||||
|
32
src/main/java/ru/nanit/limbo/protocol/PreEncodedPacket.java
Normal file
32
src/main/java/ru/nanit/limbo/protocol/PreEncodedPacket.java
Normal file
@ -0,0 +1,32 @@
|
||||
package ru.nanit.limbo.protocol;
|
||||
|
||||
public class PreEncodedPacket implements PacketOut {
|
||||
|
||||
private final PacketOut packet;
|
||||
private byte[] message;
|
||||
|
||||
public PreEncodedPacket(PacketOut packet) {
|
||||
this.packet = packet;
|
||||
}
|
||||
|
||||
public PacketOut getWrappedPacket() {
|
||||
return packet;
|
||||
}
|
||||
|
||||
public PreEncodedPacket encodePacket() {
|
||||
ByteMessage encodedMessage = ByteMessage.create();
|
||||
packet.encode(encodedMessage);
|
||||
this.message = encodedMessage.toByteArray();
|
||||
encodedMessage.release();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encode(ByteMessage msg) {
|
||||
msg.writeBytes(message);
|
||||
}
|
||||
|
||||
public static PreEncodedPacket of(PacketOut packet) {
|
||||
return new PreEncodedPacket(packet).encodePacket();
|
||||
}
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
package ru.nanit.limbo.protocol;
|
||||
|
||||
public class PreRenderedPacket implements PacketOut {
|
||||
|
||||
private final PacketOut packet;
|
||||
private byte[] message;
|
||||
|
||||
public PreRenderedPacket(PacketOut packet){
|
||||
this.packet = packet;
|
||||
}
|
||||
|
||||
public PacketOut getWrappedPacket(){
|
||||
return packet;
|
||||
}
|
||||
|
||||
public PreRenderedPacket render(){
|
||||
ByteMessage renderedMessage = ByteMessage.create();
|
||||
packet.encode(renderedMessage);
|
||||
this.message = renderedMessage.toByteArray();
|
||||
renderedMessage.release();
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void encode(ByteMessage msg) {
|
||||
msg.writeBytes(message);
|
||||
}
|
||||
|
||||
public static PreRenderedPacket of(PacketOut packet){
|
||||
return new PreRenderedPacket(packet).render();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user