Skip to content

Commit

Permalink
Revert sending actionbar messages as jukebox, avoid pink system chat …
Browse files Browse the repository at this point in the history
…overlays (#4066)

System chat overlays too aren't pink anymore - they're still sent as jukebox for better visibility though.
  • Loading branch information
onebeastchris authored Sep 7, 2023
1 parent 3ec5915 commit acf24d4
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import net.kyori.adventure.text.TranslatableComponent;
import org.cloudburstmc.protocol.bedrock.packet.TextPacket;
import org.geysermc.geyser.session.GeyserSession;
import org.geysermc.geyser.text.ChatColor;
import org.geysermc.geyser.text.GeyserLocale;
import org.geysermc.geyser.translator.protocol.PacketTranslator;
import org.geysermc.geyser.translator.protocol.Translator;
Expand All @@ -55,7 +56,11 @@ public void translate(GeyserSession session, ClientboundSystemChatPacket packet)
textPacket.setType(packet.isOverlay() ? TextPacket.Type.JUKEBOX_POPUP : TextPacket.Type.SYSTEM);

textPacket.setNeedsTranslation(false);
textPacket.setMessage(MessageTranslator.convertMessage(packet.getContent(), session.locale()));
if (packet.isOverlay()) {
textPacket.setMessage(ChatColor.WHITE + MessageTranslator.convertMessage(packet.getContent(), session.locale()));
} else {
textPacket.setMessage(MessageTranslator.convertMessage(packet.getContent(), session.locale()));
}

if (session.isSentSpawnPacket()) {
session.sendUpstreamPacket(textPacket);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
package org.geysermc.geyser.translator.protocol.java.title;

import com.github.steveice10.mc.protocol.packet.ingame.clientbound.title.ClientboundSetActionBarTextPacket;
import org.cloudburstmc.protocol.bedrock.packet.TextPacket;
import org.cloudburstmc.protocol.bedrock.packet.SetTitlePacket;
import org.geysermc.geyser.session.GeyserSession;
import org.geysermc.geyser.translator.protocol.PacketTranslator;
import org.geysermc.geyser.translator.protocol.Translator;
Expand All @@ -44,14 +44,11 @@ public void translate(GeyserSession session, ClientboundSetActionBarTextPacket p
text = MessageTranslator.convertMessage(packet.getText(), session.locale());
}

// Type seems wrong, but is intentional to avoid collisions with armor/remaining air bars
TextPacket textPacket = new TextPacket();
textPacket.setType(TextPacket.Type.JUKEBOX_POPUP);
textPacket.setNeedsTranslation(false);
textPacket.setSourceName("");
textPacket.setMessage(text);
textPacket.setXuid("");
textPacket.setPlatformChatId("");
session.sendUpstreamPacket(textPacket);
SetTitlePacket titlePacket = new SetTitlePacket();
titlePacket.setType(SetTitlePacket.Type.ACTIONBAR);
titlePacket.setText(text);
titlePacket.setXuid("");
titlePacket.setPlatformOnlineId("");
session.sendUpstreamPacket(titlePacket);
}
}

0 comments on commit acf24d4

Please sign in to comment.