diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index def2d9c69..ae6da6449 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -258,6 +258,9 @@ private fun misc(provider: MatteryLanguageProvider) { misc("item.pattern.infinite.stored", "Stored patterns: %s") misc("item.pattern.line", "%s [%s%%]") misc("item.pattern.research", "Researched: %s%%") + misc("item.pattern.research.item_count", "Items: %s / %s") + misc("item.pattern.research.advance", "Progress per item: %s%%") + misc("item.matter.infinite", "Stored matter: ∞ / ∞") misc("item.matter.normal", "Stored matter: %s / %s") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index ff0aed63d..ba67e6fff 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -264,6 +264,8 @@ private fun misc(provider: MatteryLanguageProvider) { misc("item.pattern.stored", "Хранимые шаблоны: %s / %s") misc("item.pattern.infinite.stored", "Хранимые шаблоны: %s") misc("item.pattern.research", "Исследовано: %s%%") + misc("item.pattern.research.item_count", "Предметы: %s / %s") + misc("item.pattern.research.advance", "Исследование за предмет: %s%%") misc("item.matter.infinite", "Хранимая материя неиссякаема") misc("item.matter.normal", "Хранимая материя: %s / %s") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt index 1c31477ba..82c88585c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/matter/MatterPanelScreen.kt @@ -34,6 +34,7 @@ import ru.dbotthepony.mc.otm.menu.matter.ReplicationRequestPacket import ru.dbotthepony.mc.otm.network.MenuNetworkChannel import yalter.mousetweaks.api.MouseTweaksDisableWheelTweak import java.util.function.Predicate +import kotlin.math.ceil import kotlin.math.roundToInt @MouseTweaksDisableWheelTweak @@ -165,7 +166,24 @@ class MatterPanelScreen( list.add(TranslatableComponent( "otm.item.pattern.research", String.format("%.2f", it.researchPercent * 100.0) - ).withStyle(ChatFormatting.AQUA)) } + ).withStyle(ChatFormatting.AQUA)) + + if (minecraft?.options?.advancedItemTooltips == true) { + val researchAdvance = MatterManager.getResearchAdvance(it.item) + val required = ceil(1.0 / researchAdvance).toInt() + val researched = (required.toDouble() * it.researchPercent).toInt() + + list.add(TranslatableComponent( + "otm.item.pattern.research.item_count", + researched, + required + ).withStyle(ChatFormatting.DARK_GRAY)) + list.add(TranslatableComponent( + "otm.item.pattern.research.advance", + String.format("%.2f", researchAdvance * 100.0) + ).withStyle(ChatFormatting.DARK_GRAY)) + } + } } else { menu.tasksFiltered.getOrNull(index)?.let { list.add(TranslatableComponent("otm.gui.matter_task.total", it.total).withStyle(ChatFormatting.GRAY))