diff --git a/common/src/main/java/xaeroplus/module/ModuleManager.java b/common/src/main/java/xaeroplus/module/ModuleManager.java index 76cde7f9..191d7346 100644 --- a/common/src/main/java/xaeroplus/module/ModuleManager.java +++ b/common/src/main/java/xaeroplus/module/ModuleManager.java @@ -13,6 +13,7 @@ public static void init() { asList( new BaritoneGoalSync(), new FpsLimiter(), + new Highways(), new LiquidNewChunks(), new OldChunks(), new PaletteNewChunks(), diff --git a/common/src/main/java/xaeroplus/module/impl/Highways.java b/common/src/main/java/xaeroplus/module/impl/Highways.java new file mode 100644 index 00000000..40d5e6c8 --- /dev/null +++ b/common/src/main/java/xaeroplus/module/impl/Highways.java @@ -0,0 +1,131 @@ +package xaeroplus.module.impl; + +import it.unimi.dsi.fastutil.ints.IntOpenHashSet; +import it.unimi.dsi.fastutil.ints.IntSet; +import net.minecraft.resources.ResourceKey; +import net.minecraft.world.level.Level; +import xaeroplus.Globals; +import xaeroplus.feature.render.ChunkHighlightProvider; +import xaeroplus.feature.render.ColorHelper; +import xaeroplus.module.Module; +import xaeroplus.settings.XaeroPlusSettingRegistry; +import xaeroplus.util.ChunkUtils; + +import static xaeroplus.feature.render.ColorHelper.getColor; + +public class Highways extends Module { + private int highwaysColor = getColor(0, 0, 255, 100); + + // Highway data sourced from: https://www.desmos.com/calculator/ogsleiq29o + + /** + * Known Errors / Missing Data + * + * Lesser known highways like Old Spawn Road and Flower Trail (and many more) + * + * OW/End highways extend past actual road + */ + + private static final IntSet ringRoads = chunkSetFromPosList( + 200, + 500, + 1000, + 1500, + 2000, + 2500, + 5000, + 7500, + 10000, + 15000, + 20000, + 25000, + 50000, + 62500, + 100000, + 125000, + 250000, + 500000, + 750000, + 1000000, + 1250000, + 1568852, + 1875000, + 2500000, + 3750000 + ); + + private static final IntSet diamonds = chunkSetFromPosList( + 2500, + 5000, + 25000, + 50000, + 125000, + 250000, + 500000, + 3750000 + ); + + private static final int fiftyK = ChunkUtils.posToChunkPos(50000); + private static final int fiveK = ChunkUtils.posToChunkPos(5000); + + @Override + public void onEnable() { + Globals.drawManager.registerChunkHighlightProvider( + this.getClass(), + new ChunkHighlightProvider( + this::isHighwayChunk, + this::getHighwayColor + )); + } + + @Override + public void onDisable() { + Globals.drawManager.unregister(this.getClass()); + } + + public boolean isHighwayChunk(int x, int z, ResourceKey dimension) { + if (x == 0 || z == 0) return true; // cardinal directions + var xAbs = Math.abs(x); + var zAbs = Math.abs(z); + if (xAbs == zAbs) return true; // diags + if (dimension == Level.NETHER) { + // ring roads + if (ringRoads.contains(xAbs)) { + if (z >= -xAbs && z <= xAbs) return true; + } + if (ringRoads.contains(zAbs)) { + if (x >= -zAbs && x <= zAbs) return true; + } + + // diamonds + if (diamonds.contains(xAbs + zAbs)) return true; + + // grid + if (xAbs < fiftyK && zAbs < fiftyK) { + if (xAbs % fiveK == 0) return true; + if (zAbs % fiveK == 0) return true; + } + } + return false; + } + + public int getHighwayColor() { + return highwaysColor; + } + + public void setRgbColor(final int color) { + highwaysColor = ColorHelper.getColorWithAlpha(color, (int) XaeroPlusSettingRegistry.highwaysColorAlphaSetting.getValue()); + } + + public void setAlpha(final float a) { + highwaysColor = ColorHelper.getColorWithAlpha(highwaysColor, (int) a); + } + + private static IntOpenHashSet chunkSetFromPosList(int... pos) { + final IntOpenHashSet set = new IntOpenHashSet(pos.length); + for (int i = 0; i < pos.length; i++) { + set.add(ChunkUtils.posToChunkPos(pos[i])); + } + return set; + } +} diff --git a/common/src/main/java/xaeroplus/settings/XaeroPlusSettingRegistry.java b/common/src/main/java/xaeroplus/settings/XaeroPlusSettingRegistry.java index 90112309..34baaa35 100644 --- a/common/src/main/java/xaeroplus/settings/XaeroPlusSettingRegistry.java +++ b/common/src/main/java/xaeroplus/settings/XaeroPlusSettingRegistry.java @@ -22,7 +22,6 @@ public final class XaeroPlusSettingRegistry { /** * The order settings are defined here determines the order in the settings GUI's. */ - public static final XaeroPlusBooleanSetting minimapFpsLimiter = XaeroPlusBooleanSetting.create( "Minimap FPS Limiter", "setting.minimap.fps_limiter", @@ -419,6 +418,29 @@ public final class XaeroPlusSettingRegistry { (b) -> ModuleManager.getModule(PortalSkipDetection.class).setOldChunksInverse(b), true, SettingLocation.CHUNK_HIGHLIGHTS); + public static final XaeroPlusBooleanSetting highwayHighlightsSetting = XaeroPlusBooleanSetting.create( + "2b2t Highways", + "setting.world_map.2b2t_highways_enabled", + "setting.world_map.2b2t_highways_enabled.tooltip", + (b) -> ModuleManager.getModule(Highways.class).setEnabled(b), + false, + SettingLocation.CHUNK_HIGHLIGHTS); + public static final XaeroPlusEnumSetting highwaysColorSetting = XaeroPlusEnumSetting.create( + "2b2t Highways Color", + "setting.world_map.2b2t_highways_color", + "setting.world_map.2b2t_highways_color.tooltip", + (b) -> ModuleManager.getModule(Highways.class).setRgbColor(b.getColor()), + ColorHelper.HighlightColor.values(), + ColorHelper.HighlightColor.BLUE, + SettingLocation.CHUNK_HIGHLIGHTS); + public static final XaeroPlusFloatSetting highwaysColorAlphaSetting = XaeroPlusFloatSetting.create( + "2b2t Highways Opacity", + "setting.world_map.2b2t_highways_opacity", + 0f, 255f, 10f, + "setting.world_map.2b2t_highways_opacity.tooltip", + (b) -> ModuleManager.getModule(Highways.class).setAlpha(b), + 100, + SettingLocation.CHUNK_HIGHLIGHTS); public static final XaeroPlusBooleanSetting owAutoWaypointDimension = XaeroPlusBooleanSetting.create( "Prefer Overworld Waypoints", "setting.world_map.ow_auto_waypoint_dimension", diff --git a/common/src/main/resources/assets/xaeroplus/lang/en_us.json b/common/src/main/resources/assets/xaeroplus/lang/en_us.json index f4f25646..8be7dc71 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/en_us.json +++ b/common/src/main/resources/assets/xaeroplus/lang/en_us.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Uses NewChunks to determine if a chunk was not loaded before. Therefore a portal could not have been created in its radius. \n Requires NewChunks to be enabled.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip OldChunks Inverse", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Uses OldChunks Inverse to determine if a chunk was not loaded before. Therefore a portal could not have been created in its radius. \n Requires OldChunks inverse to be enabled.", + "setting.world_map.2b2t_highways_enabled": "2b2t Highways", + "setting.world_map.2b2t_highways_enabled.tooltip": "Highlights chunks on 2b2t highways", + "setting.world_map.2b2t_highways_color": "2b2t Highways Color", + "setting.world_map.2b2t_highways_color.tooltip": "Sets the color of 2b2t Highways highlights", + "setting.world_map.2b2t_highways_opacity": "2b2t Highways Opacity", + "setting.world_map.2b2t_highways_opacity.tooltip": "Sets the color opacity of 2b2t Highways highlights", "setting.world_map.wdl_highlight": "WDL Highlight", "setting.world_map.wdl_highlight.tooltip": "Highlights chunks WDL mod has downloaded on the Minimap and WorldMap.", "setting.world_map.wdl_opacity": "WDL Opacity", diff --git a/common/src/main/resources/assets/xaeroplus/lang/es_ar.json b/common/src/main/resources/assets/xaeroplus/lang/es_ar.json index d592169a..4d48c63a 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/es_ar.json +++ b/common/src/main/resources/assets/xaeroplus/lang/es_ar.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Usa ChunksNuevos para determinar si un chunk no se cargó antes. De asi serlo, no se pudo haber creado un portal en su radio. \n Requiere que ChunksNuevos esté habilitado.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip ChunksAntiguos Invertido", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Usa ChunksAntiguos para determinar si un chunk no se cargó antes. Por lo tanto, no se pudo haber creado un portal en su radio. \n Requiere que ChunksAntiguos Invertido esté habilitado.", + "setting.world_map.2b2t_highways_enabled": "Carreteras 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Destaca los chunks en las carreteras de 2b2t", + "setting.world_map.2b2t_highways_color": "Color de las Carreteras 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Establece el color de los resaltados de las carreteras de 2b2t", + "setting.world_map.2b2t_highways_opacity": "Opacidad de las Carreteras 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Establece la opacidad del color de los resaltados de las carreteras de 2b2t", "setting.world_map.wdl_highlight": "Resaltado WDL", "setting.world_map.wdl_highlight.tooltip": "Resalta los chunk que el mod WDL (World Download) ha descargado en el Minimapa y el MapaMundi.", "setting.world_map.wdl_opacity": "Opacidad Resaltado WDL", diff --git a/common/src/main/resources/assets/xaeroplus/lang/fr_ca.json b/common/src/main/resources/assets/xaeroplus/lang/fr_ca.json index 46bc0929..a902abad 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/fr_ca.json +++ b/common/src/main/resources/assets/xaeroplus/lang/fr_ca.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Utilise NewChunks pour déterminer si un morceau n'a pas été chargé auparavant. Un portail n’aurait donc pas pu être créé dans son rayon.\n Nécessite que NewChunks soit activé.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip OldChunks Inverse", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Utilise OldChunks Inverse pour déterminer si un morceau n'a pas été chargé auparavant. Un portail n’aurait donc pas pu être créé dans son rayon.\n Nécessite l’activation d’OldChunks inverse.", + "setting.world_map.2b2t_highways_enabled": "Autoroutes 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Surligne les chunks sur les autoroutes de 2b2t", + "setting.world_map.2b2t_highways_color": "Couleur des Autoroutes 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Définit la couleur des surlignages des autoroutes de 2b2t", + "setting.world_map.2b2t_highways_opacity": "Opacité des Autoroutes 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Définit l'opacité des surlignages des autoroutes de 2b2t", "setting.world_map.wdl_highlight": "Mise en évidence WDL", "setting.world_map.wdl_highlight.tooltip": "Met en évidence les chunks que le mod WDL a téléchargés sur la Minimap et la WorldMap.", "setting.world_map.wdl_opacity": "Opacité WDL", diff --git a/common/src/main/resources/assets/xaeroplus/lang/fr_fr.json b/common/src/main/resources/assets/xaeroplus/lang/fr_fr.json index 46bc0929..a902abad 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/fr_fr.json +++ b/common/src/main/resources/assets/xaeroplus/lang/fr_fr.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Utilise NewChunks pour déterminer si un morceau n'a pas été chargé auparavant. Un portail n’aurait donc pas pu être créé dans son rayon.\n Nécessite que NewChunks soit activé.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip OldChunks Inverse", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Utilise OldChunks Inverse pour déterminer si un morceau n'a pas été chargé auparavant. Un portail n’aurait donc pas pu être créé dans son rayon.\n Nécessite l’activation d’OldChunks inverse.", + "setting.world_map.2b2t_highways_enabled": "Autoroutes 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Surligne les chunks sur les autoroutes de 2b2t", + "setting.world_map.2b2t_highways_color": "Couleur des Autoroutes 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Définit la couleur des surlignages des autoroutes de 2b2t", + "setting.world_map.2b2t_highways_opacity": "Opacité des Autoroutes 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Définit l'opacité des surlignages des autoroutes de 2b2t", "setting.world_map.wdl_highlight": "Mise en évidence WDL", "setting.world_map.wdl_highlight.tooltip": "Met en évidence les chunks que le mod WDL a téléchargés sur la Minimap et la WorldMap.", "setting.world_map.wdl_opacity": "Opacité WDL", diff --git a/common/src/main/resources/assets/xaeroplus/lang/ja_jp.json b/common/src/main/resources/assets/xaeroplus/lang/ja_jp.json index f677cf88..e86e57db 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/ja_jp.json +++ b/common/src/main/resources/assets/xaeroplus/lang/ja_jp.json @@ -97,6 +97,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "NewChunksを使用して、チャンクが以前にロードされていないかどうかを判断する。そのため、ポータルがその半径内に作成されていない可能性があります。\nNewChunks が有効になっている必要があります。", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip OldChunks Inverse", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "チャンクが以前にロードされていないかどうかを判断するために、OldChunks Inverseを使用する。そのため、ポータルがその半径内に作成されていない可能性があります。\nOldChunks Inverseが有効になっている必要があります。", + "setting.world_map.2b2t_highways_enabled": "2b2t ハイウェイ", + "setting.world_map.2b2t_highways_enabled.tooltip": "2b2t ハイウェイ上のチャンクを強調表示します", + "setting.world_map.2b2t_highways_color": "2b2t ハイウェイの色", + "setting.world_map.2b2t_highways_color.tooltip": "2b2t ハイウェイの強調表示の色を設定します", + "setting.world_map.2b2t_highways_opacity": "2b2t ハイウェイの不透明度", + "setting.world_map.2b2t_highways_opacity.tooltip": "2b2t ハイウェイの強調表示の不透明度を設定します", "setting.world_map.wdl_highlight": "WDL Highlight", "setting.world_map.wdl_highlight.tooltip": "WDL modがMinimapとWorldMapにダウンロードしたチャンクをハイライトします。", "setting.world_map.wdl_opacity": "WDL Opacity", diff --git a/common/src/main/resources/assets/xaeroplus/lang/pl_pl.json b/common/src/main/resources/assets/xaeroplus/lang/pl_pl.json index 12f0a5da..0e029cef 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/pl_pl.json +++ b/common/src/main/resources/assets/xaeroplus/lang/pl_pl.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Używa NewChunks do określenia, czy porcja nie była wcześniej załadowana. Dlatego w jego promieniu nie można było stworzyć portalu.\n Wymaga włączenia NewChunks.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalPomiń odwrotność OldChunks", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Używa OldChunks Inverse, aby określić, czy porcja nie była wcześniej załadowana. Dlatego w jego promieniu nie można było stworzyć portalu.\n Wymaga włączenia odwrotności OldChunks.", + "setting.world_map.2b2t_highways_enabled": "Autostrady 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Podświetla chunki na autostradach 2b2t", + "setting.world_map.2b2t_highways_color": "Kolor Autostrad 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Ustawia kolor podświetleń autostrad 2b2t", + "setting.world_map.2b2t_highways_opacity": "Przezroczystość Autostrad 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Ustawia przezroczystość podświetleń autostrad 2b2t", "setting.world_map.wdl_highlight": "Podświetlanie WDL", "setting.world_map.wdl_highlight.tooltip": "Podświetla chunki, które mod WDL pobrał na Minimapę i Mapę Świata.", "setting.world_map.wdl_opacity": "Nieprzezroczystość WDL", diff --git a/common/src/main/resources/assets/xaeroplus/lang/pt_pt.json b/common/src/main/resources/assets/xaeroplus/lang/pt_pt.json index 47aa952f..895344ec 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/pt_pt.json +++ b/common/src/main/resources/assets/xaeroplus/lang/pt_pt.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Usa partes novas do mapa para determinar se essa parte ainda não tinha sido carregada. Portanto um portal não poderá ter sido criado na sua área. \n É necessário Partes Novas ativo.", "setting.world_map.portal_skip_old_chunks_inverse": "Saltos em Portais em Partes Antigas Invertido", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Usa partes antigas inversamente para determinar se essa parte ainda não tinha sido carregada. Portanto um portal não poderá ter sido criado na sua área. \n É necessário Partes Antigas Invertidas ativo.", + "setting.world_map.2b2t_highways_enabled": "Rodovias 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Destaca chunks nas rodovias 2b2t", + "setting.world_map.2b2t_highways_color": "Cor das Rodovias 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Define a cor dos destaques das rodovias 2b2t", + "setting.world_map.2b2t_highways_opacity": "Opacidade das Rodovias 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Define a opacidade da cor dos destaques das rodovias 2b2t", "setting.world_map.wdl_highlight": "Destacar WDL", "setting.world_map.wdl_highlight.tooltip": "Destaca partes do mapa transferidas pelo mod WDL no mini-mapa e mapa-mundo.", "setting.world_map.wdl_opacity": "Transparência de Destaque do WDL", diff --git a/common/src/main/resources/assets/xaeroplus/lang/ru_ru.json b/common/src/main/resources/assets/xaeroplus/lang/ru_ru.json index 885cc6c9..90de1a8a 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/ru_ru.json +++ b/common/src/main/resources/assets/xaeroplus/lang/ru_ru.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Использует NewChunks, чтобы определить, не был ли чанк загружен ранее. Следовательно, портал не мог быть создан в его радиусе.\n Требуется, чтобы NewChunks был включен.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip OldChunks Инверсия", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Использует OldChunks Inverse, чтобы определить, не был ли чанк загружен ранее. Следовательно, портал не мог быть создан в его радиусе.\n Требуется, чтобы инверсия OldChunks была включена.", + "setting.world_map.2b2t_highways_enabled": "Шоссе 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Выделяет чанки на шоссе 2b2t", + "setting.world_map.2b2t_highways_color": "Цвет шоссе 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Устанавливает цвет выделения шоссе 2b2t", + "setting.world_map.2b2t_highways_opacity": "Прозрачность шоссе 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Устанавливает прозрачность цвета выделения шоссе 2b2t", "setting.world_map.wdl_highlight": "WDL Выделять", "setting.world_map.wdl_highlight.tooltip": "Выделенные анки WDL mod загружает на миникарту и карту мира.", "setting.world_map.wdl_opacity": "WDL Непрозрачность", diff --git a/common/src/main/resources/assets/xaeroplus/lang/vi_vn.json b/common/src/main/resources/assets/xaeroplus/lang/vi_vn.json index afce43a7..d4ceacc9 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/vi_vn.json +++ b/common/src/main/resources/assets/xaeroplus/lang/vi_vn.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "Sử dụng NewChunks để xác định nếu một chunk chưa được tải trước đó. Do đó, một cổng không thể được tạo trong bán kính của nó. \n Yêu cầu NewChunks được kích hoạt.", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip Đảo Ngược OldChunks", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "Sử dụng Đảo Ngược OldChunks để xác định nếu một chunk chưa được tải trước đó. Do đó, một cổng không thể được tạo trong bán kính của nó. \n Yêu cầu Đảo Ngược OldChunks được kích hoạt.", + "setting.world_map.2b2t_highways_enabled": "Đường cao tốc 2b2t", + "setting.world_map.2b2t_highways_enabled.tooltip": "Làm nổi bật các chunk trên đường cao tốc 2b2t", + "setting.world_map.2b2t_highways_color": "Màu sắc Đường cao tốc 2b2t", + "setting.world_map.2b2t_highways_color.tooltip": "Đặt màu cho các điểm nổi bật trên đường cao tốc 2b2t", + "setting.world_map.2b2t_highways_opacity": "Độ trong suốt Đường cao tốc 2b2t", + "setting.world_map.2b2t_highways_opacity.tooltip": "Đặt độ trong suốt của màu trên đường cao tốc 2b2t", "setting.world_map.wdl_highlight": "Nổi Bật WDL", "setting.world_map.wdl_highlight.tooltip": "Nổi bật các chunk WDL mod đã tải xuống trên Minimap và WorldMap.", "setting.world_map.wdl_opacity": "Độ Mờ WDL", diff --git a/common/src/main/resources/assets/xaeroplus/lang/zh_cn.json b/common/src/main/resources/assets/xaeroplus/lang/zh_cn.json index 0c523187..e547573d 100644 --- a/common/src/main/resources/assets/xaeroplus/lang/zh_cn.json +++ b/common/src/main/resources/assets/xaeroplus/lang/zh_cn.json @@ -99,6 +99,12 @@ "setting.world_map.portal_skip_new_chunks.tooltip": "使用 NewChunks 来确定之前是否未加载过块。 因此不可能在其半径内创建传送门。\n 需要启用 NewChunks。", "setting.world_map.portal_skip_old_chunks_inverse": "PortalSkip OldChunks 逆向", "setting.world_map.portal_skip_old_chunks_inverse.tooltip": "使用 OldChunks Inverse 来确定之前是否未加载过块。 因此不可能在其半径内创建传送门。\n 需要启用 OldChunks 逆功能。", + "setting.world_map.2b2t_highways_enabled": "2b2t 高速公路", + "setting.world_map.2b2t_highways_enabled.tooltip": "突出显示 2b2t 高速公路上的区块", + "setting.world_map.2b2t_highways_color": "2b2t 高速公路颜色", + "setting.world_map.2b2t_highways_color.tooltip": "设置 2b2t 高速公路高亮显示的颜色", + "setting.world_map.2b2t_highways_opacity": "2b2t 高速公路不透明度", + "setting.world_map.2b2t_highways_opacity.tooltip": "设置 2b2t 高速公路高亮显示的颜色不透明度", "setting.world_map.wdl_highlight": "高亮世界下载器", "setting.world_map.wdl_highlight.tooltip": "在小地图和世界地图上高亮世界下载器模组已下载的区块。", "setting.world_map.wdl_opacity": "世界下载器不透明度",