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 3c970a6d5..9201d2270 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 @@ -164,8 +164,12 @@ private fun misc(provider: MatteryLanguageProvider) { misc("needs_no_power", "Requires no power to operate") gui("lock_holo_screen", "Lock contents") + gui("lock_holo_screen.unlocked", "Unlock contents") gui("lock_holo_screen.tip", "Locking and unlocking contents is only possible in creative.\nWhen locked, text boundaries are removed.") + gui("holo_screen.resize_text", "Resize text automatically") + gui("holo_screen.do_not_resize_text", "Do not resize text") + gui("ticks", "Ticks") gui("power_cost_per_use", "Power cost per use: %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 6781d647a..cca000ded 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 @@ -176,8 +176,12 @@ private fun misc(provider: MatteryLanguageProvider) { misc("needs_no_power", "Не требует энергии для работы") gui("lock_holo_screen", "Заблокировать содержимое") + gui("lock_holo_screen.unlocked", "Разблокировать содержимое") gui("lock_holo_screen.tip", "Блокировка и разблокировка содержимого возможна только в режиме творчества.\nКогда заблокировано, границы ввода текста отключены.") + gui("holo_screen.resize_text", "Изменять размер текста автоматически") + gui("holo_screen.do_not_resize_text", "Не менять размер текста") + gui("ticks", "Тиков") gui("power_cost_per_use", "Энергии на операцию: %s") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt index d8ef39b0a..a405fed3d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/render/Widgets18.kt @@ -180,4 +180,7 @@ object Widgets18 { val COLOR_PALETTE = controlsGrid.next() val TEXT_SCALE_DISABLED = controlsGrid.next() val TEXT_SCALE_ENABLED = controlsGrid.next() + + val LOCK_UNLOCKED = controlsGrid.next() + val LOCK_LOCKED = controlsGrid.next() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/decorative/HoloSignScreen.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/decorative/HoloSignScreen.kt index 20524cf57..66294534b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/decorative/HoloSignScreen.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/screen/decorative/HoloSignScreen.kt @@ -5,9 +5,7 @@ import net.minecraft.world.entity.player.Inventory import ru.dbotthepony.mc.otm.client.screen.MatteryScreen import ru.dbotthepony.mc.otm.client.screen.panels.ColorPickerPanel import ru.dbotthepony.mc.otm.client.screen.panels.Dock -import ru.dbotthepony.mc.otm.client.screen.panels.DockProperty import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel -import ru.dbotthepony.mc.otm.client.screen.panels.button.CheckBoxLabelInputPanel import ru.dbotthepony.mc.otm.client.screen.panels.button.LargeRectangleButtonPanel import ru.dbotthepony.mc.otm.client.screen.panels.button.makeDeviceControls import ru.dbotthepony.mc.otm.client.screen.panels.input.NetworkedStringInputPanel @@ -23,16 +21,14 @@ class HoloSignScreen(menu: HoloSignMenu, inventory: Inventory, title: Component) frame.makeCloseButton() frame.onClose { onClose() } + frame.makeHelpButton().apply { + tooltips.add(TranslatableComponent("otm.gui.lock_holo_screen.tip")) + } val input = NetworkedStringInputPanel(this, frame, backend = menu.text) input.dock = Dock.FILL input.isMultiLine = true - val lock = CheckBoxLabelInputPanel(this, frame, menu.locked, TranslatableComponent("otm.gui.lock_holo_screen")) - lock.dock = Dock.BOTTOM - lock.dockMargin = DockProperty(2f, 2f, 2f, 2f) - lock.tooltips.add(TranslatableComponent("otm.gui.lock_holo_screen.tip")) - val controls = makeDeviceControls(this, frame, redstoneConfig = menu.redstone) controls.addButton(object : LargeRectangleButtonPanel(this@HoloSignScreen, frame, onPress = { @@ -60,6 +56,18 @@ class HoloSignScreen(menu: HoloSignMenu, inventory: Inventory, title: Component) prop = menu.textAutoScale, iconActive = Widgets18.TEXT_SCALE_ENABLED, iconInactive = Widgets18.TEXT_SCALE_DISABLED, + tooltipActive = TranslatableComponent("otm.gui.holo_screen.resize_text"), + tooltipInactive = TranslatableComponent("otm.gui.holo_screen.do_not_resize_text"), + )) + + controls.addButton(LargeBooleanRectangleButtonPanel( + this@HoloSignScreen, + frame, + prop = menu.locked, + iconActive = Widgets18.LOCK_LOCKED, + iconInactive = Widgets18.LOCK_UNLOCKED, + tooltipActive = TranslatableComponent("otm.gui.lock_holo_screen"), + tooltipInactive = TranslatableComponent("otm.gui.lock_holo_screen.unlocked") )) return frame diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.png b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.png index 9806ad55a..f3e0a019d 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.png and b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.xcf b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.xcf index 928c66053..e04e31f4a 100644 Binary files a/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.xcf and b/src/main/resources/assets/overdrive_that_matters/textures/gui/widgets/side_controls.xcf differ