diff --git a/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/BasicTriangulationPanel.java b/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/BasicTriangulationPanel.java
index 614d1f65..b248a1c3 100644
--- a/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/BasicTriangulationPanel.java
+++ b/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/BasicTriangulationPanel.java
@@ -64,6 +64,7 @@ public BasicTriangulationPanel(StyleManager styleManager, NinjabrainBotPreferenc
certaintyPanel.setForegroundColor(styleManager.currentTheme.TEXT_COLOR_SLIGHTLY_WEAK);
currentAngleLabel.setForegroundColor(styleManager.currentTheme.TEXT_COLOR_SLIGHTLY_WEAK);
disposeHandler.add(preferences.strongholdDisplayType.whenModified().subscribeEDT(__ -> setResult(currentResult)));
+ disposeHandler.add(preferences.colorCodeNegativeCoords.whenModified().subscribeEDT(__ -> setResult(currentResult)));
disposeHandler.add(preferences.showAngleErrors.whenModified().subscribeEDT(this::setAngleUpdatesEnabled));
}
@@ -95,7 +96,7 @@ private void setChunkPrediction(ChunkPrediction prediction) {
mainTextLabel.setText(formatStrongholdCoords(prediction, preferences.strongholdDisplayType.get()));
certaintyPanel.setText(CERTAINTY_TEXT);
certaintyPanel.setColoredText(String.format(Locale.US, "%.1f%%", prediction.chunk.weight * 100.0), (float) prediction.chunk.weight);
- netherLabel.setText(I18n.get("nether_coordinates", prediction.chunk.x * 2, prediction.chunk.z * 2, prediction.getNetherDistance()));
+ netherLabel.setText("" + I18n.get("nether_coordinates", getFormattedCoords(prediction.chunk.x * 2, prediction.chunk.z * 2), prediction.getNetherDistance()) + "");
currentAngleLabel.setText(prediction.formatTravelAngle(true));
currentAngleLabel.setColoredText(prediction.formatTravelAngleDiff(), prediction.getTravelAngleDiffColor());
}
@@ -127,20 +128,28 @@ public void dispose() {
disposeHandler.dispose();
}
- private static String formatStrongholdCoords(ChunkPrediction chunkPrediction, StrongholdDisplayType strongholdDisplayType) {
+ private String formatStrongholdCoords(ChunkPrediction chunkPrediction, StrongholdDisplayType strongholdDisplayType) {
Chunk chunk = chunkPrediction.chunk;
int distance = chunkPrediction.getOverworldDistance();
switch (strongholdDisplayType) {
case FOURFOUR:
- return I18n.get("location_blocks", chunk.fourFourX(), chunk.fourFourZ(), distance);
+ return "" + I18n.get("location_blocks", getFormattedCoords(chunk.fourFourX(), chunk.fourFourZ()), distance) + "";
case EIGHTEIGHT:
- return I18n.get("location_blocks", chunk.eightEightX(), chunk.eightEightZ(), distance);
+ return "" + I18n.get("location_blocks", getFormattedCoords(chunk.eightEightX(), chunk.eightEightZ()), distance) + "";
case CHUNK:
- return I18n.get("chunk_blocks", chunk.x, chunk.z, distance);
+ return "" + I18n.get("chunk_blocks", getFormattedCoords(chunk.x, chunk.z), distance) + "";
default:
break;
}
- return I18n.get("chunk_blocks", chunk.x, chunk.z, distance);
+ return "" + I18n.get("chunk_blocks", getFormattedCoords(chunk.x, chunk.z), distance) + "";
}
+ private String getFormattedCoords(int x, int z){
+ if (preferences.colorCodeNegativeCoords.get()){
+ String xColor = x < 0 ? styleManager.currentTheme.COLOR_NEGATIVE.hex() : styleManager.currentTheme.TEXT_COLOR_SLIGHTLY_WEAK.hex();
+ String zColor = z < 0 ? styleManager.currentTheme.COLOR_NEGATIVE.hex() : styleManager.currentTheme.TEXT_COLOR_SLIGHTLY_WEAK.hex();
+ return String.format(Locale.US, "(%d, %d)", xColor, x, zColor, z);
+ }
+ return String.format(Locale.US, "(%d, %d)", x, z);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/ChunkPanel.java b/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/ChunkPanel.java
index e98f7361..126bd7db 100644
--- a/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/ChunkPanel.java
+++ b/src/main/java/ninjabrainbot/gui/mainwindow/triangulation/ChunkPanel.java
@@ -30,6 +30,7 @@
public class ChunkPanel extends ThemedPanel implements IDisposable {
private final MultipleChoicePreference strongholdDisplayType;
+ private final NinjabrainBotPreferences preferences;
private ChunkPrediction currentPrediction;
@@ -45,6 +46,7 @@ public class ChunkPanel extends ThemedPanel implements IDisposable {
private Subscription chunkPredictionSubscription;
private final Subscription strongholdDisplayTypeChangedSubscription;
+ private final Subscription colorCodeNegativeCoordsSubscription;
private final WrappedColor borderCol;
@@ -55,6 +57,7 @@ public ChunkPanel(StyleManager styleManager, NinjabrainBotPreferences preference
public ChunkPanel(StyleManager styleManager, NinjabrainBotPreferences preferences, ChunkPrediction p) {
super(styleManager);
this.styleManager = styleManager;
+ this.preferences = preferences;
strongholdDisplayType = preferences.strongholdDisplayType;
setOpaque(true);
location = new ThemedLabel(styleManager, true);
@@ -76,6 +79,7 @@ public ChunkPanel(StyleManager styleManager, NinjabrainBotPreferences preference
setPrediction(p);
setAngleUpdatesEnabled(preferences.showAngleUpdates.get());
strongholdDisplayTypeChangedSubscription = preferences.strongholdDisplayType.whenModified().subscribeEDT(__ -> setPrediction(currentPrediction));
+ colorCodeNegativeCoordsSubscription = preferences.colorCodeNegativeCoords.whenModified().subscribeEDT(__ -> setPrediction(currentPrediction));
borderCol = styleManager.currentTheme.COLOR_DIVIDER;
setBackgroundColor(styleManager.currentTheme.COLOR_SLIGHTLY_WEAK);
@@ -148,6 +152,7 @@ public void updateColors() {
super.updateColors();
angle.updateColor();
certainty.updateColors();
+ setPrediction(currentPrediction);
}
@Override
@@ -166,30 +171,39 @@ public void dispose() {
if (chunkPredictionSubscription != null)
chunkPredictionSubscription.dispose();
strongholdDisplayTypeChangedSubscription.dispose();
+ colorCodeNegativeCoordsSubscription.dispose();
}
private void setText(ChunkPrediction chunkPrediction) {
location.setText(formatStrongholdCoords(chunkPrediction.chunk, strongholdDisplayType.get()));
certainty.setText(chunkPrediction.formatCertainty(), (float) chunkPrediction.chunk.weight);
distance.setText(chunkPrediction.formatDistanceInPlayersDimension());
- nether.setText(chunkPrediction.formatNether());
+ nether.setText(getFormattedCoords(chunkPrediction.xInNetherForDisplay(), chunkPrediction.zInNetherForDisplay()));
angle.setText(chunkPrediction.formatTravelAngle(false));
angle.setColoredText(chunkPrediction.formatTravelAngleDiff(), chunkPrediction.getTravelAngleDiffColor());
lastColor = chunkPrediction.chunk.weight;
}
- private static String formatStrongholdCoords(Chunk chunk, StrongholdDisplayType strongholdDisplayType) {
+ private String formatStrongholdCoords(Chunk chunk, StrongholdDisplayType strongholdDisplayType) {
switch (strongholdDisplayType) {
case FOURFOUR:
- return String.format(Locale.US, "(%d, %d)", chunk.fourFourX(), chunk.fourFourZ());
+ return getFormattedCoords(chunk.fourFourX(), chunk.fourFourZ());
case EIGHTEIGHT:
- return String.format(Locale.US, "(%d, %d)", chunk.eightEightX(), chunk.eightEightZ());
+ return getFormattedCoords(chunk.eightEightX(), chunk.eightEightZ());
case CHUNK:
- return String.format(Locale.US, "(%d, %d)", chunk.x, chunk.z);
+ return getFormattedCoords(chunk.x, chunk.z);
default:
break;
}
- return String.format(Locale.US, "(%d, %d)", chunk.x, chunk.z);
+ return getFormattedCoords(chunk.x, chunk.z);
}
+ private String getFormattedCoords(int x, int z){
+ if (preferences.colorCodeNegativeCoords.get()){
+ String xColor = x < 0 ? styleManager.currentTheme.COLOR_NEGATIVE.hex() : styleManager.currentTheme.TEXT_COLOR_SLIGHTLY_WEAK.hex();
+ String zColor = z < 0 ? styleManager.currentTheme.COLOR_NEGATIVE.hex() : styleManager.currentTheme.TEXT_COLOR_SLIGHTLY_WEAK.hex();
+ return String.format(Locale.US, "(%d, %d)", xColor, x, zColor, z);
+ }
+ return String.format(Locale.US, "(%d, %d)", x, z);
+ }
}
diff --git a/src/main/java/ninjabrainbot/gui/options/sections/AdvancedOptionsPanel.java b/src/main/java/ninjabrainbot/gui/options/sections/AdvancedOptionsPanel.java
index 263b6adf..5dcda3d8 100644
--- a/src/main/java/ninjabrainbot/gui/options/sections/AdvancedOptionsPanel.java
+++ b/src/main/java/ninjabrainbot/gui/options/sections/AdvancedOptionsPanel.java
@@ -77,6 +77,7 @@ public int getTextSize(SizePreference p) {
column2.add(new DoublePreferencePanel(styleManager, I18n.get("settings.crosshair_correction"), preferences.crosshairCorrection));
column2.add(new CheckboxPanel(styleManager, I18n.get("settings.show_angle_errors"), preferences.showAngleErrors));
+ column2.add(new CheckboxPanel(styleManager, I18n.get("settings.color_negative_coords"), preferences.colorCodeNegativeCoords));
column2.add(new CheckboxPanel(styleManager, I18n.get("settings.use_advanced_stronghold_statistics"), preferences.useAdvStatistics));
column2.add(new CheckboxPanel(styleManager, I18n.get("settings.use_alternative_clipboard_reader"), preferences.altClipboardReader));
diff --git a/src/main/java/ninjabrainbot/io/preferences/NinjabrainBotPreferences.java b/src/main/java/ninjabrainbot/io/preferences/NinjabrainBotPreferences.java
index b3d75bc0..3e30e538 100644
--- a/src/main/java/ninjabrainbot/io/preferences/NinjabrainBotPreferences.java
+++ b/src/main/java/ninjabrainbot/io/preferences/NinjabrainBotPreferences.java
@@ -51,6 +51,7 @@ public class NinjabrainBotPreferences {
public final BooleanPreference useAdvStatistics;
public final BooleanPreference altClipboardReader;
public final BooleanPreference useAltStd;
+ public final BooleanPreference colorCodeNegativeCoords;
public final BooleanPreference useTallRes;
public final BooleanPreference usePreciseAngle;
public final BooleanPreference useOverlay;
@@ -111,6 +112,7 @@ public NinjabrainBotPreferences(IPreferenceSource source) {
useAdvStatistics = new BooleanPreference("use_adv_statistics", true, source);
altClipboardReader = new BooleanPreference("alt_clipboard_reader", false, source);
useAltStd = new BooleanPreference("use_alt_std", false, source);
+ colorCodeNegativeCoords = new BooleanPreference("color_negative_coords", false, source);
useTallRes = new BooleanPreference("use_tall_res", false, source);
usePreciseAngle = new BooleanPreference("use_precise_angle", false, source);
useOverlay = new BooleanPreference("use_obs_overlay", false, source);
diff --git a/src/main/java/ninjabrainbot/model/datastate/common/StructurePosition.java b/src/main/java/ninjabrainbot/model/datastate/common/StructurePosition.java
index 7bb9c3cd..5b4ec10d 100644
--- a/src/main/java/ninjabrainbot/model/datastate/common/StructurePosition.java
+++ b/src/main/java/ninjabrainbot/model/datastate/common/StructurePosition.java
@@ -60,10 +60,6 @@ public String formatDistanceInPlayersDimension() {
return String.format(Locale.US, "%d", playerIsInNether ? getNetherDistance() : overworldDistance);
}
- public String formatNether() {
- return String.format(Locale.US, "(%d, %d)", (int) Math.floor(x / 8.0), (int) Math.floor(z / 8.0));
- }
-
public String formatTravelAngle(boolean forBasic) {
if (forBasic) {
return String.format("%s: %.2f", I18n.get("current_angle"), travelAngle);
@@ -98,6 +94,14 @@ public double zInNether() {
return zInOverworld() / 8.0;
}
+ public int xInNetherForDisplay(){
+ return (int) Math.floor(x / 8.0);
+ }
+
+ public int zInNetherForDisplay(){
+ return (int) Math.floor(z / 8.0);
+ }
+
public int getOverworldDistance() {
return overworldDistance;
}
diff --git a/src/main/resources/lang/I18n.properties b/src/main/resources/lang/I18n.properties
index 405df311..affa1e1b 100644
--- a/src/main/resources/lang/I18n.properties
+++ b/src/main/resources/lang/I18n.properties
@@ -46,6 +46,7 @@ settings.alt_standard_deviation=Alt. standard deviation:
settings.alt_std_on_last_angle=Alt. std on last angle:
settings.crosshair_correction=Crosshair correction:
settings.show_angle_errors=Show angle errors
+settings.color_negative_coords=Display negative coords in a different color
settings.use_advanced_stronghold_statistics=Use advanced stronghold statistics
settings.use_alternative_clipboard_reader=Use alternative clipboard reader
settings.tall_resolution=Tall resolution
@@ -117,11 +118,11 @@ notificationsframe.new_version_available=New version available!
notificationsframe.download_button=Download .jar
notificationsframe.changelog_button=Open changelog (in browser)
notificationsframe.update_text=Version %s is available. After downloading the new jar you can delete this jar (your settings will automatically transfer). This notification can be disabled in the settings menu.
-location_blocks=Location: (%d, %d), %d blocks away
-chunk_blocks=Chunk: (%d, %d), %d blocks away
+location_blocks=Location: %s, %d blocks away
+chunk_blocks=Chunk: %s, %d blocks away
certainty=Certainty:
current_angle=Current angle
-nether_coordinates=Nether coords: (%d, %d), %d blocks away
+nether_coordinates=Nether coords: %s, %d blocks away
could_not_determine=Could not determine the stronghold chunk.
you_probably_misread=You probably misread one of the eyes.
blind_coords=Blind coords (%.0f, %.0f) are
diff --git a/src/main/resources/lang/I18n_cs_CZ.properties b/src/main/resources/lang/I18n_cs_CZ.properties
index a81adc6e..c7b32151 100644
--- a/src/main/resources/lang/I18n_cs_CZ.properties
+++ b/src/main/resources/lang/I18n_cs_CZ.properties
@@ -116,11 +116,11 @@ notificationsframe.new_version_available=Je dostupná nová verze!
notificationsframe.download_button=Stáhnou .jar
notificationsframe.changelog_button=Otevřít changelog v prohlížeči
notificationsframe.update_text=Verze %s je k dispozici. Po stažení nového .jar můžeš tento .jar smazat (tvoje nastavení se automaticky převedou). Toto oznámení můžeš vypnout v nastavení.
-location_blocks=Umístění: (%d, %d), %d bloků daleko
-chunk_blocks=Chunk: (%d, %d), %d bloků daleko
+location_blocks=Umístění: %s, %d bloků daleko
+chunk_blocks=Chunk: %s, %d bloků daleko
certainty=Jistota:
current_angle=Aktuální úhel
-nether_coordinates=Netherové souřadnice: (%d, %d), %d bloků daleko
+nether_coordinates=Netherové souřadnice: %s, %d bloků daleko
could_not_determine=Chunk strongholdu nebylo možno určit.
you_probably_misread=Nejšpíš jsi chybně změřil(a) jedno z očí.
blind_coords=Souřačnice pro blind (%.0f, %.0f) jsou
diff --git a/src/main/resources/lang/I18n_es_ES.properties b/src/main/resources/lang/I18n_es_ES.properties
index e83dc85d..71f60412 100644
--- a/src/main/resources/lang/I18n_es_ES.properties
+++ b/src/main/resources/lang/I18n_es_ES.properties
@@ -102,11 +102,11 @@ notificationsframe.new_version_available=¡Nueva versión disponible!
notificationsframe.download_button=Descargar .jar
notificationsframe.changelog_button=Abrir registro de cambios (en el navegador)
notificationsframe.update_text=Versión %s está disponible. Después de descargar el nuevo jar, puedes eliminar este jar (tu configuración se transferirá automáticamente). Esta notificación se puede desactivar en el menú de configuración.
-location_blocks=Posición: (%d, %d), %d bloques de distancia
-chunk_blocks=Chunk: (%d, %d), %d bloques de distancia
+location_blocks=Posición: %s, %d bloques de distancia
+chunk_blocks=Chunk: %s, %d bloques de distancia
certainty=Certeza:
current_angle=Ángulo actual
-nether_coordinates=Coordenadas Nether: (%d, %d), %d bloques de distancia
+nether_coordinates=Coordenadas Nether: %s, %d bloques de distancia
could_not_determine=No se pudo determinar el chunk del stronghold.
you_probably_misread=Probablemente leíste mal uno de los ojos.
blind_coords=Coordenadas del blind (%.0f, %.0f) son
diff --git a/src/main/resources/lang/I18n_fr_FR.properties b/src/main/resources/lang/I18n_fr_FR.properties
index b6a3f724..2edde4bd 100644
--- a/src/main/resources/lang/I18n_fr_FR.properties
+++ b/src/main/resources/lang/I18n_fr_FR.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=Nouvelle version disponible !
notificationsframe.download_button=Télécharger le .jar
notificationsframe.changelog_button=Ouvrir le journal de modifications (dans le navigateur)
notificationsframe.update_text=La version %s est disponible. Après avoir téléchargé le nouveau .jar, vous pouvez supprimer ce .jar (vos paramètres seront automatiquement sauvegardés). Cette notification peut être désactivée dans les paramètres.
-location_blocks=Emplacement: (%d, %d), à %d blocs
-chunk_blocks=Chunk: (%d, %d), à %d blocs
+location_blocks=Emplacement: %s, à %d blocs
+chunk_blocks=Chunk: %s, à %d blocs
certainty=Certitude:
current_angle=Angle actuel
-nether_coordinates=Coordonnées du nether: (%d, %d), à %d blocs
+nether_coordinates=Coordonnées du nether: %s, à %d blocs
could_not_determine=Le chunk du stronghold n'a pas pu être déterminé.
you_probably_misread=Vous avez probablement mal calculé l'un des yeux.
blind_coords=Les coordonnées de blind (%.0f, %.0f) sont
diff --git a/src/main/resources/lang/I18n_it_IT.properties b/src/main/resources/lang/I18n_it_IT.properties
index a0420d75..ce222d48 100644
--- a/src/main/resources/lang/I18n_it_IT.properties
+++ b/src/main/resources/lang/I18n_it_IT.properties
@@ -64,11 +64,11 @@ notificationsframe.new_version_available=Nuova versione disponibile!
notificationsframe.download_button=Scarica .jar
notificationsframe.changelog_button=Apri changelog (in browser)
notificationsframe.update_text=Versione %s è disponibile. Dopo aver scaricato il nuovo jar puoi cancellare questo jar (le tue impostazioni saranno automaticamente trasferiti). Questa notifica può essere disabilitata nelle impostazioni.
-location_blocks=Posizione: (%d, %d), %d blocchi
-chunk_blocks=Chunk: (%d, %d), %d blocchi
+location_blocks=Posizione: %s, %d blocchi
+chunk_blocks=Chunk: %s, %d blocchi
certainty=Certezza:
current_angle=Angolo attuale
-nether_coordinates=Coordinate Nether: (%d, %d), %d blocchi
+nether_coordinates=Coordinate Nether: %s, %d blocchi
could_not_determine=Non è stato possibile determinare il chunk dello stronghold.
you_probably_misread=Hai probabilmente letto male uno degli occhi.
blind_coords=Coordinate blind (%.0f, %.0f) sono
diff --git a/src/main/resources/lang/I18n_ja_JP.properties b/src/main/resources/lang/I18n_ja_JP.properties
index 2aa84b04..6a4d2450 100644
--- a/src/main/resources/lang/I18n_ja_JP.properties
+++ b/src/main/resources/lang/I18n_ja_JP.properties
@@ -63,11 +63,11 @@ notificationsframe.new_version_available=新しいバージョンが利用可能
notificationsframe.download_button=.jarをダウンロード
notificationsframe.changelog_button=変更ログを開く (ブラウザで)
notificationsframe.update_text=バージョン %s が利用可能です。 新しい jar をダウンロードした後、この jar を削除できます (設定は自動的に転送されます)。 この通知は、設定メニューで無効にすることができます。
-location_blocks=場所: (%d, %d), %d ブロック先
-chunk_blocks=チャンク: (%d, %d), %d ブロック先
+location_blocks=場所: %s, %d ブロック先
+chunk_blocks=チャンク: %s, %d ブロック先
certainty=確実:
current_angle=現在の角度
-nether_coordinates=ネザー座標: (%d, %d), %d ブロック先
+nether_coordinates=ネザー座標: %s, %d ブロック先
could_not_determine=拠点チャンクを特定できませんでした。
you_probably_misread=片方の目を読み違えたのでしょう。
blind_coords=ブラインド座標 (%.0f、%.0f) are
diff --git a/src/main/resources/lang/I18n_ja_Ryukyuan.properties b/src/main/resources/lang/I18n_ja_Ryukyuan.properties
index 9978c496..d74e4754 100644
--- a/src/main/resources/lang/I18n_ja_Ryukyuan.properties
+++ b/src/main/resources/lang/I18n_ja_Ryukyuan.properties
@@ -63,11 +63,11 @@ notificationsframe.new_version_available=みーさるバージョンぬ利用可
notificationsframe.download_button=.jarダウンロード
notificationsframe.changelog_button=変更ログふぃらちゅん (ブラウザっし)
notificationsframe.update_text=バージョン %s やしが利用可能やいびーん。 みーさん jar ダウンロードさる後、くぬ jar 削除なやびーん (設定ー自動的に転送さりやびーん)。 くぬ通知ー、設定メニューっし無効なするくとぅがなやびーん。
-location_blocks=ばす: (%d, %d), %d ブロック先
-chunk_blocks=チャンク: (%d, %d), %d ブロック先
+location_blocks=ばす: %s, %d ブロック先
+chunk_blocks=チャンク: %s, %d ブロック先
certainty=確実:
current_angle=現在ぬ角度
-nether_coordinates=ネザー座標: (%d, %d), %d ブロック先
+nether_coordinates=ネザー座標: %s, %d ブロック先
could_not_determine=拠点チャンク特定なやびらんたん。
you_probably_misread=かたぐーぬみーゆみたげーたるぬやるはじ。
blind_coords=ブラインド座標 (%.0f、%.0f) are
diff --git a/src/main/resources/lang/I18n_ko_KR.properties b/src/main/resources/lang/I18n_ko_KR.properties
index c504f844..9c45214a 100644
--- a/src/main/resources/lang/I18n_ko_KR.properties
+++ b/src/main/resources/lang/I18n_ko_KR.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=새로운 버전이 발견되었습니
notificationsframe.download_button=.jar 다운로드
notificationsframe.changelog_button=체인지로그 열기 (브라우저에서)
notificationsframe.update_text=새로운 버전%s 이 발견되었습니다. 새 .jar 파일을 다운로드한 후 이 .jar 파일을 삭제하세요(설정은 그대로 보존됨). 이 알림은 설정 메뉴에서 비활성화할 수 있습니다.
-location_blocks=위치: (%d, %d), %d 블럭만큼 떨어짐
-chunk_blocks=청크: (%d, %d), %d 블럭만큼 떨어짐
+location_blocks=위치: %s, %d 블럭만큼 떨어짐
+chunk_blocks=청크: %s, %d 블럭만큼 떨어짐
certainty=정확도:
current_angle=현재 각도
-nether_coordinates=네더 좌표: (%d, %d), %d 블럭만큼 떨어짐
+nether_coordinates=네더 좌표: %s, %d 블럭만큼 떨어짐
could_not_determine=엔더유적 청크를 계산할 수 없습니다.
you_probably_misread=한 엔더의 눈을 잘못 읽었을 수 있습니다.
blind_coords=블라인드 좌표(%.0f, %.0f)가
diff --git a/src/main/resources/lang/I18n_pt_BR.properties b/src/main/resources/lang/I18n_pt_BR.properties
index 8d3883b6..a8e980f8 100644
--- a/src/main/resources/lang/I18n_pt_BR.properties
+++ b/src/main/resources/lang/I18n_pt_BR.properties
@@ -64,11 +64,11 @@ notificationsframe.new_version_available=Nova versão disponível!
notificationsframe.download_button=Download .jar
notificationsframe.changelog_button=Abrir alterações (no navegador)
notificationsframe.update_text=A versão %s está disponível. Depois de baixar o novo jar, você pode excluí-lo (suas configurações serão transferidas automaticamente). Esta notificação pode ser desativada no menu de configurações.
-location_blocks=Localização: (%d, %d), %d blocos
-chunk_blocks=Chunk: (%d, %d), %d blocos
+location_blocks=Localização: %s, %d blocos
+chunk_blocks=Chunk: %s, %d blocos
certainty=Certeza:
current_angle=Ânguloa atual
-nether_coordinates=Coord Nether: (%d, %d), %d blocos
+nether_coordinates=Coord Nether: %s, %d blocos
could_not_determine=Não foi possível determinar a chuck da stronghold.
you_probably_misread=Você provavelmente errou um dos olhos.
blind_coords=Coord do blind (%.0f, %.0f) estão
diff --git a/src/main/resources/lang/I18n_ru_RU.properties b/src/main/resources/lang/I18n_ru_RU.properties
index 72b9a3ad..7d917460 100644
--- a/src/main/resources/lang/I18n_ru_RU.properties
+++ b/src/main/resources/lang/I18n_ru_RU.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=Доступна новая верси
notificationsframe.download_button=Скачать .jar
notificationsframe.changelog_button=Открыть список изменений (в браузере)
notificationsframe.update_text=Версия %s доступна. После установки новой версии, вы можете удалить старую (ваши настройки сохранятся). Это уведомление можно отключить в меню настроек. А Квист все еще лох.
-location_blocks=Координаты: (%d, %d), в %d блоках от вас
-chunk_blocks=Чанк: (%d, %d), в %d блоках от вас
+location_blocks=Координаты: %s, в %d блоках от вас
+chunk_blocks=Чанк: %s, в %d блоках от вас
certainty=Точность:
current_angle=Текущий градус
-nether_coordinates=Адские координаты: (%d, %d), в %d блоках от вас
+nether_coordinates=Адские координаты: %s, в %d блоках от вас
could_not_determine=Не удалось определить координаты.
you_probably_misread=Вероятно, вы ошиблись в измерениях.
blind_coords=Блайнд координаты (%.0f, %.0f) -
diff --git a/src/main/resources/lang/I18n_tr_TR.properties b/src/main/resources/lang/I18n_tr_TR.properties
index 88c5ee81..ecf4c75d 100644
--- a/src/main/resources/lang/I18n_tr_TR.properties
+++ b/src/main/resources/lang/I18n_tr_TR.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=Yeni sürüm mevcut!
notificationsframe.download_button=.jar dosyasını indir
notificationsframe.changelog_button=Değişiklik günlüğünü aç (tarayıcıda)
notificationsframe.update_text=%S sürümü mevcut. Yeni jar dosyasını indirdikten sonra bu jar dosyasını silebilirsiniz (ayarlarınız otomatik olarak aktarılacaktır). Bu bildirim ayarlar menüsünden devre dışı bırakılabilir.
-location_blocks=Lokasyon: (%d, %d), %d blok uzaklıkta
-chunk_blocks=Yığın: (%d, %d), %d blok uzaklıkta
+location_blocks=Lokasyon: %s, %d blok uzaklıkta
+chunk_blocks=Yığın: %s, %d blok uzaklıkta
certainty=Kesinlik:
current_angle=Current angle
-nether_coordinates=Nether koordinatları: (%d, %d), %d blok uzaklıkta
+nether_coordinates=Nether koordinatları: %s, %d blok uzaklıkta
could_not_determine=Stronghold yığını belirlenemedi
you_probably_misread=Gözlerden birisini yanlış okumuş olabilirsiniz
blind_coords=Blind coords (%.0f, %.0f) are
diff --git a/src/main/resources/lang/I18n_uk_UA.properties b/src/main/resources/lang/I18n_uk_UA.properties
index 6fbba369..7c6a76c9 100644
--- a/src/main/resources/lang/I18n_uk_UA.properties
+++ b/src/main/resources/lang/I18n_uk_UA.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=Доступна нова версія!
notificationsframe.download_button=Завантажити .jar
notificationsframe.changelog_button=Відкрити список змін (в браузері)
notificationsframe.update_text=Версія %s доступна. Після встановлення нової версії ви можете видалити стару (ваші налаштування залишаться). Це повідомлення можна вимкнути в меню налаштувань.
-location_blocks=Координати: (%d, %d), в %d блоках від вас
-chunk_blocks=Чанк: (%d, %d), в %d блоках від вас
+location_blocks=Координати: %s, в %d блоках від вас
+chunk_blocks=Чанк: %s, в %d блоках від вас
certainty=Точність:
current_angle=Поточний градус
-nether_coordinates=Координати Незеру: (%d, %d), в %d блоках від вас
+nether_coordinates=Координати Незеру: %s, в %d блоках від вас
could_not_determine=Не вдалося визначити координати.
you_probably_misread=Імовірно, ви помилились в вимірах.
blind_coords=Сліпі координати (%.0f, %.0f) -
diff --git a/src/main/resources/lang/I18n_zh_CN.properties b/src/main/resources/lang/I18n_zh_CN.properties
index 75cab9e4..4b48caa3 100644
--- a/src/main/resources/lang/I18n_zh_CN.properties
+++ b/src/main/resources/lang/I18n_zh_CN.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=新版本可用!
notificationsframe.download_button=下载 jar 文件
notificationsframe.changelog_button=打开更新日志(浏览器)
notificationsframe.update_text=有新版本 %s。在下载 jar 文件后你可以把当前版本删掉(你的配置会自动迁移)。你可以在设置中关闭这个提示。
-location_blocks=位置:(%d, %d), 距离 %d 个方块
-chunk_blocks=区块:(%d, %d), 距离 %d 个方块
+location_blocks=位置:%s, 距离 %d 个方块
+chunk_blocks=区块:%s, 距离 %d 个方块
certainty=准确性:
current_angle=当前角度
-nether_coordinates=下界坐标:(%d, %d), 距离%d个方块
+nether_coordinates=下界坐标:%s, 距离%d个方块
could_not_determine=无法确定要塞区块。
you_probably_misread=你可能看错了其中一只末影之眼。
blind_coords=盲传坐标 (%.0f, %.0f)
diff --git a/src/main/resources/lang/I18n_zh_TW.properties b/src/main/resources/lang/I18n_zh_TW.properties
index dcda9edf..3ad9030c 100644
--- a/src/main/resources/lang/I18n_zh_TW.properties
+++ b/src/main/resources/lang/I18n_zh_TW.properties
@@ -117,11 +117,11 @@ notificationsframe.new_version_available=有新版本可用!
notificationsframe.download_button=下載 .jar
notificationsframe.changelog_button=開啟更新日誌(在瀏覽器中)
notificationsframe.update_text=版本 %s 可用。下載新 jar 後,您可以刪除此 jar(您的設定將自動轉移)。可以在設定界面中停用此通知。
-location_blocks=位置:(%d, %d),距離 %d 個方塊
-chunk_blocks=區塊:(%d, %d), 距離 %d 個方塊
+location_blocks=位置:%s,距離 %d 個方塊
+chunk_blocks=區塊:%s, 距離 %d 個方塊
certainty=準確度:
current_angle=目前角度
-nether_coordinates=地獄坐標:(%d, %d), 距離 %d 個方塊
+nether_coordinates=地獄坐標:%s, 距離 %d 個方塊
could_not_determine=無法確定要塞區塊。
you_probably_misread=你可能測量錯了其中一個終界之眼。
blind_coords=盲傳坐標 (%.0f, %.0f) 是