In the current release the word vsync and the graphic quality are not separated by a space.
This is due to a mistake in the string method (or the formatter).
this.fpsString = String.format("%d fps T: %s%s%s%s B: %d",
fps,
(double)this.options.framerateLimit == Option.FRAMERATE_LIMIT.getMaxValue() ? "inf" : Integer.valueOf(this.options.framerateLimit),
this.options.enableVsync ? " vsync" : "",
this.options.graphicsMode.toString(),
this.options.renderClouds == CloudStatus.OFF ? "" : (this.options.renderClouds == CloudStatus.FAST ? " fast-clouds" : " fancy-clouds"),
this.options.biomeBlendRadius
);
as you can see in this line all the format in the 4 %s are prepended with a space if they display, all? Except one this.options.graphicsMode.toString() will return:
public String toString() {
switch (this) {
case FAST: {
return "fast";
}
case FANCY: {
return "fancy";
}
case FABULOUS: {
return "fabulous";
}
}
throw new IllegalArgumentException();
}
and this is not space prepended.
The fix?
just add a space like so " "+this.options.graphicsMode.toString() in the formatting line.
( or change the toString method but i would not recommend it as it is a side effect)
Here a picture showing this game experience breaking bug:
[media]
Your client is modified, so this report would be considered invalid. But this is a duplicate of MC-187372