Skip to content

Commit dc8ffa4

Browse files
authored
Escape percent signs where necessary (#6437)
1 parent c99d040 commit dc8ffa4

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

core/src/main/java/org/geysermc/geyser/scoreboard/Objective.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public void removeScore(String id) {
8383
}
8484

8585
public void updateProperties(Component displayNameComponent, ScoreType type, NumberFormat format) {
86-
String displayName = MessageTranslator.convertMessageRaw(displayNameComponent, scoreboard.session().locale());
86+
String displayName = MessageTranslator.convertMessageRaw(displayNameComponent, scoreboard.session().locale()).replace("%", "%%");
8787
boolean changed = !Objects.equals(this.displayName, displayName) || this.type != type;
8888

8989
this.displayName = displayName;

core/src/main/java/org/geysermc/geyser/session/cache/BossBar.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void updateBossBar() {
5959
BossEventPacket bossEventPacket = new BossEventPacket();
6060
bossEventPacket.setBossUniqueEntityId(entityId);
6161
bossEventPacket.setAction(BossEventPacket.Action.CREATE);
62-
bossEventPacket.setTitle(MessageTranslator.convertMessage(title, session.locale()));
62+
bossEventPacket.setTitle(MessageTranslator.convertMessage(title, session.locale()).replace("%", "%%%%"));
6363
bossEventPacket.setHealthPercentage(health);
6464
bossEventPacket.setColor(color);
6565
bossEventPacket.setOverlay(overlay);
@@ -73,7 +73,7 @@ public void updateTitle(Component title) {
7373
BossEventPacket bossEventPacket = new BossEventPacket();
7474
bossEventPacket.setBossUniqueEntityId(entityId);
7575
bossEventPacket.setAction(BossEventPacket.Action.UPDATE_NAME);
76-
bossEventPacket.setTitle(MessageTranslator.convertMessage(title, session.locale()));
76+
bossEventPacket.setTitle(MessageTranslator.convertMessage(title, session.locale()).replace("%", "%%%%"));
7777

7878
session.sendUpstreamPacket(bossEventPacket);
7979
}

core/src/main/java/org/geysermc/geyser/translator/protocol/java/entity/player/JavaPlayerCombatKillTranslator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void translate(GeyserSession session, ClientboundPlayerCombatKillPacket p
4242
Component deathMessage = packet.getMessage();
4343
// TODO - could inject score in, but as of 1.19.10 newlines don't center and start at the left of the first text
4444
DeathInfoPacket deathInfoPacket = new DeathInfoPacket();
45-
deathInfoPacket.setCauseAttackName(MessageTranslator.convertMessage(deathMessage, session.locale()));
45+
deathInfoPacket.setCauseAttackName(MessageTranslator.convertMessage(deathMessage, session.locale()).replace("%", "%%"));
4646
session.sendUpstreamPacket(deathInfoPacket);
4747
}
4848
}

0 commit comments

Comments
 (0)