mirror of
https://github.com/Nan1t/NanoLimbo.git
synced 2025-07-13 05:00:14 +02:00
Fixed titles encoding
This commit is contained in:
parent
790a1b414b
commit
916b10e087
@ -221,7 +221,7 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
writePacket(PACKET_JOIN_MESSAGE);
|
||||
|
||||
if (PACKET_TITLE_TITLE != null)
|
||||
sendTitle();
|
||||
writeTitle();
|
||||
|
||||
sendKeepAlive();
|
||||
}
|
||||
@ -234,15 +234,15 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
public void sendTitle() {
|
||||
public void writeTitle() {
|
||||
if (clientVersion.moreOrEqual(Version.V1_17)) {
|
||||
writePacket(PACKET_TITLE_TITLE);
|
||||
writePacket(PACKET_TITLE_SUBTITLE);
|
||||
sendPacket(PACKET_TITLE_TIMES);
|
||||
writePacket(PACKET_TITLE_TIMES);
|
||||
} else {
|
||||
writePacket(PACKET_TITLE_LEGACY_TITLE);
|
||||
writePacket(PACKET_TITLE_LEGACY_SUBTITLE);
|
||||
sendPacket(PACKET_TITLE_LEGACY_TIMES);
|
||||
writePacket(PACKET_TITLE_LEGACY_TIMES);
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,7 +265,8 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
}
|
||||
|
||||
public void writePacket(Object packet) {
|
||||
if (isConnected()) channel.write(packet, channel.voidPromise());
|
||||
if (isConnected())
|
||||
channel.write(packet, channel.voidPromise());
|
||||
}
|
||||
|
||||
public boolean isConnected() {
|
||||
@ -395,8 +396,13 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
||||
packetTimes.setFadeOut(title.getFadeOut());
|
||||
|
||||
legacyTitle.setTitle(title);
|
||||
legacyTitle.setAction(PacketTitleLegacy.Action.SET_TITLE);
|
||||
|
||||
legacySubtitle.setTitle(title);
|
||||
legacySubtitle.setAction(PacketTitleLegacy.Action.SET_SUBTITLE);
|
||||
|
||||
legacyTimes.setTitle(title);
|
||||
legacyTimes.setAction(PacketTitleLegacy.Action.SET_TIMES_AND_DISPLAY);
|
||||
|
||||
PACKET_TITLE_TITLE = PreEncodedPacket.of(packetTitle);
|
||||
PACKET_TITLE_SUBTITLE = PreEncodedPacket.of(packetSubtitle);
|
||||
|
@ -50,16 +50,22 @@ public class PacketTitleLegacy implements PacketOut {
|
||||
public enum Action {
|
||||
SET_TITLE(0),
|
||||
SET_SUBTITLE(1),
|
||||
SET_TIMES_AND_DISPLAY(3);
|
||||
SET_TIMES_AND_DISPLAY(3, 2);
|
||||
|
||||
private final int id;
|
||||
private final int legacyId;
|
||||
|
||||
Action(int id, int legacyId) {
|
||||
this.id = id;
|
||||
this.legacyId = legacyId;
|
||||
}
|
||||
|
||||
Action(int id) {
|
||||
this.id = id;
|
||||
this(id, id);
|
||||
}
|
||||
|
||||
public int getId(Version version) {
|
||||
return version.moreOrEqual(Version.V1_11) && id > 2 ? id - 1 : id;
|
||||
return version.less(Version.V1_11) ? legacyId : id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -144,6 +144,24 @@ public enum State {
|
||||
map(0x32, V1_16_2, V1_16_4),
|
||||
map(0x36, V1_17, V1_17_1)
|
||||
);
|
||||
clientBound.register(PacketTitleLegacy::new,
|
||||
map(0x45, V1_8, V1_11_1),
|
||||
map(0x47, V1_12, V1_12),
|
||||
map(0x48, V1_12_1, V1_12_2),
|
||||
map(0x4B, V1_13, V1_13_2),
|
||||
map(0x4F, V1_14, V1_14_4),
|
||||
map(0x50, V1_15, V1_15_2),
|
||||
map(0x4F, V1_16, V1_16_4)
|
||||
);
|
||||
clientBound.register(PacketTitleSetTitle::new,
|
||||
map(0x59, V1_17, V1_17_1)
|
||||
);
|
||||
clientBound.register(PacketTitleSetSubTitle::new,
|
||||
map(0x57, V1_17, V1_17_1)
|
||||
);
|
||||
clientBound.register(PacketTitleTimes::new,
|
||||
map(0x5A, V1_17, V1_17_1)
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user