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);
|
writePacket(PACKET_JOIN_MESSAGE);
|
||||||
|
|
||||||
if (PACKET_TITLE_TITLE != null)
|
if (PACKET_TITLE_TITLE != null)
|
||||||
sendTitle();
|
writeTitle();
|
||||||
|
|
||||||
sendKeepAlive();
|
sendKeepAlive();
|
||||||
}
|
}
|
||||||
@ -234,15 +234,15 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendTitle() {
|
public void writeTitle() {
|
||||||
if (clientVersion.moreOrEqual(Version.V1_17)) {
|
if (clientVersion.moreOrEqual(Version.V1_17)) {
|
||||||
writePacket(PACKET_TITLE_TITLE);
|
writePacket(PACKET_TITLE_TITLE);
|
||||||
writePacket(PACKET_TITLE_SUBTITLE);
|
writePacket(PACKET_TITLE_SUBTITLE);
|
||||||
sendPacket(PACKET_TITLE_TIMES);
|
writePacket(PACKET_TITLE_TIMES);
|
||||||
} else {
|
} else {
|
||||||
writePacket(PACKET_TITLE_LEGACY_TITLE);
|
writePacket(PACKET_TITLE_LEGACY_TITLE);
|
||||||
writePacket(PACKET_TITLE_LEGACY_SUBTITLE);
|
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) {
|
public void writePacket(Object packet) {
|
||||||
if (isConnected()) channel.write(packet, channel.voidPromise());
|
if (isConnected())
|
||||||
|
channel.write(packet, channel.voidPromise());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isConnected() {
|
public boolean isConnected() {
|
||||||
@ -395,8 +396,13 @@ public class ClientConnection extends ChannelInboundHandlerAdapter {
|
|||||||
packetTimes.setFadeOut(title.getFadeOut());
|
packetTimes.setFadeOut(title.getFadeOut());
|
||||||
|
|
||||||
legacyTitle.setTitle(title);
|
legacyTitle.setTitle(title);
|
||||||
|
legacyTitle.setAction(PacketTitleLegacy.Action.SET_TITLE);
|
||||||
|
|
||||||
legacySubtitle.setTitle(title);
|
legacySubtitle.setTitle(title);
|
||||||
|
legacySubtitle.setAction(PacketTitleLegacy.Action.SET_SUBTITLE);
|
||||||
|
|
||||||
legacyTimes.setTitle(title);
|
legacyTimes.setTitle(title);
|
||||||
|
legacyTimes.setAction(PacketTitleLegacy.Action.SET_TIMES_AND_DISPLAY);
|
||||||
|
|
||||||
PACKET_TITLE_TITLE = PreEncodedPacket.of(packetTitle);
|
PACKET_TITLE_TITLE = PreEncodedPacket.of(packetTitle);
|
||||||
PACKET_TITLE_SUBTITLE = PreEncodedPacket.of(packetSubtitle);
|
PACKET_TITLE_SUBTITLE = PreEncodedPacket.of(packetSubtitle);
|
||||||
|
@ -50,16 +50,22 @@ public class PacketTitleLegacy implements PacketOut {
|
|||||||
public enum Action {
|
public enum Action {
|
||||||
SET_TITLE(0),
|
SET_TITLE(0),
|
||||||
SET_SUBTITLE(1),
|
SET_SUBTITLE(1),
|
||||||
SET_TIMES_AND_DISPLAY(3);
|
SET_TIMES_AND_DISPLAY(3, 2);
|
||||||
|
|
||||||
private final int id;
|
private final int id;
|
||||||
|
private final int legacyId;
|
||||||
|
|
||||||
|
Action(int id, int legacyId) {
|
||||||
|
this.id = id;
|
||||||
|
this.legacyId = legacyId;
|
||||||
|
}
|
||||||
|
|
||||||
Action(int id) {
|
Action(int id) {
|
||||||
this.id = id;
|
this(id, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getId(Version version) {
|
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(0x32, V1_16_2, V1_16_4),
|
||||||
map(0x36, V1_17, V1_17_1)
|
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