From 29ab315e433f259f343de475c9f9719668210ae1 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Thu, 24 Oct 2024 05:54:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=A0=D0=90=20=D0=91=D0=9E=D0=9B=D0=AC?= =?UTF-8?q?=D0=A8=D0=95=20=D0=92=D0=A1=D0=A0=D0=90=D0=A2=D0=AB=D0=A5=20?= =?UTF-8?q?=D0=98=D0=9A=D0=9E=D0=9D=D0=9E=D0=9A=20(=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=D1=81=20=D1=87=D0=B5=D0=BA=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?=D1=81=D0=B0=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8=20=D1=81=D0=BE=D0=B4=D0=B5=D1=80=D0=B6=D0=B8=D0=BC?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B2=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=20+?= =?UTF-8?q?=20=D1=82=D1=83=D0=BB=D1=82=D0=B8=D0=BF=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=80=D0=B5=D1=81=D0=B0=D0=B9=D0=B7=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/otm/datagen/lang/English.kt | 4 ++++ .../mc/otm/datagen/lang/Russian.kt | 4 ++++ .../mc/otm/client/render/Widgets18.kt | 3 +++ .../screen/decorative/HoloSignScreen.kt | 22 ++++++++++++------ .../textures/gui/widgets/side_controls.png | Bin 2675 -> 2802 bytes .../textures/gui/widgets/side_controls.xcf | Bin 78060 -> 79947 bytes 6 files changed, 26 insertions(+), 7 deletions(-) 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 9806ad55a39af3b1f167772a5192e540ff6ed437..f3e0a019d5c5d22634ed62738b393e0ce7c52235 100644 GIT binary patch delta 2747 zcmXX{c|6oxAGW1NA~UE7EesjF3S(-xSthxReTK-Aov~+Ryor7Z*S^HqM$%Xslh>4; zbaAtk5z20en~4-gL&nZK-P`%&e9n2k-_PfKpXd3WbJiqRr805ANda-KLGT`&k52?J zH8QmQFLT+YEk)8)k{&!Ca`A?!v^wF^aSc?yTbjAKm{)A^zl}&T_!!by zIB0~JiCv8#&3s`FUq+$6=3xCpLNc`7e{X5o+n>1Msb`OYuQ`ffm&f->O00LS-)FaF zvN*8=5!VvC6oXaVJ=!W=zifsP2!jCv|<1G(A0i^Qt0?cNR;&^xiUuOFa0z`+QJ(PaP>5!0(N9K56qx2&B;v?+< znvXY9^3Kwwn`+Y03q$BWx8}(UsF-!{E5SZ>TKTG4-^`^Mc)EGMM}i|#bRw={yyEW; zB_2-DEK!Ao`WqFh&4&e7eO;sC(>6c-_}W$23fTCsk9QA@iRlf^;G3P1S;fkp&4<0|D|bYoikb@HeviG3WmDpO_D(R8HL&FHLR0BrpC1#|#bKs2 zR=|$dXG%vZGtqkEL;#F3oqi}OTh9@0-#+l3F-xzM)~)aI#REW=<#hze&^XhEaRw;?%uL_BvcJCBG*Rako66c8 zx+UP7^?hWk8H=H{>E8>4$zFN2;i@3f1nlEafzacutQwqCls_lok%S9Oh!38bd%ac~ zVTuQsINYnfuNVssmwF`}-UrPi6)|VE>hy!u@|8e+&^gJ2Am>;l9T-;%r&HR)Cf zy7ENjee2n))mM|my`3ciWnv)Un0Xu~TNsy@>k~E@_L61cGXL)E!Kzyn;4fpJUZiCF z+QC!PHsXd;9%ieo#my>_q+g$=I%b)|K3PEz;Eu#C7*r#~gQ#giA57FTJSTe!%H9(Y z4ZI{XMt^c@y<8YDLUhh`6hAg+6~yBr_^)hyrfFB{%F=0~r=XBhl{%g{8U=}iB0-rF zUbg;x@yLGiSWK-CSx&hwM&%+IE%W7r_ih2>&W|S|L2wO~xfE1=QaC(YQ8B%|^LLDw z8T3TgnMuo|;0JM@+202T)ym&@pD2AQReWk!!XCi0?)D8OTh-457)OYvPHUUN>#7l+ ze)HQ}iD)Mb>Jh{_SPM638N{LWoe7Oc2ERa5Z4S?i|0?uyN~pbI@J(u>M>O%Y?92ix zzIvd4FE4rko*KQfSi90e?I@a7ygSR}Y;~k%tZX!MIB6-183UGYi~qh+d!a%Sh(~sb zHD2wj_7v8n>LLUmDS&fUsSTm!Oh3;_Fjt!aMRZwyLz*VbxsLXL2>oTITe!(4!crXx zH2StehSmWYOQxCCQw$}ozV-8lii>ocFpRN=^yzJOs?TfUr1*-}1l`v7YRHvgI> z7MN^c`)^{x4?F%IfTho8A}?=pB-PRgt}Vs~gV=2E^zyYU@gP#ST7&Ex?rKF*VBkOs zlhaI`#|af+S(G~m$bVGVNVn9oPF%Dd}n9Qd-hDP>s%&whN9@dO=f zW^>pqEda;D4Hl2m4@GNJpyRSVuTYt?NiYAIfZ-;jwqE_#FXx>@4JdNLl1x9MgUIr6 z=nvMTyLdBrav%R(R0a{3^BK#5&sp^zs~L8AO%OgYS!H$3N-W7Amu1#PEz=KD0l5|x zXOxh{4v`>B7Ir_;I{n)GbAO@=RYBQU$-+WPrnmKqKx_>GGwvk;m*l_B0K?F zP1OGlK??25;W!1lB$nuX(ZajBiU6h-No=}r$!^{JO?;>6b=yBhAv@IW!+LWg7HY}LyrEQS!nd`rRJgJf&BeC zTQDXnToNV(GBpwc8NROG^;7;>od#rz{GnB0tot2ZucX-*x1v4}oRh$;u?`9#-Vm&En8W7IX>EG!Q%Q zh-gf%8Cv!rr#fsT{UD1?Ii~p_b#Naxb5+Jm2&%Z}=TUG`2^8z7n_5{hx_`TAXh-OU z9>A0Z0|NJtia#%+`MO5j06MPYL!M!vD(uibKU^aoX;&qx9dT&i`atUz0*=Raa}WO{ za^El}jAeA&<;(xV=hsjkIzkfR?O_5-&DpxpvR89a8~aUtm;{oZ{{i(cheWQOG_2XN!ac4)`sWUWW>yRJ7GxXAS>^p z7}RW>(&@f%SwR6CTDg+uQ}M~NqBVGoHq~v&NQX`9wN11|->W^?XB$KV5icUyK+8SF zLaCO&-a|cjzi;H7wGnLPVxxL`Xz==ZQ*{4{e&foxp@X%x)=ydHWveOpLUv`J^b1RXU$5HTHJX zVf|arocC6*(@4li(26_R!Z;CV*N``z;EyqWCb2BqTb?_xU8pmCbPh4joWCxS;OX zEhHo+WM_5K^(vd=Z5gC!C(QwWIcjd9D5B4hE$SJ3xOa$ZZebuMxuV1~Bl?CZE6P)~ zr@06Nb7^5L*_@G_gh?eTpZ8-uFek2DRiwr=POfCvt(26Oj>Rf7Va;{*4GAuxMet!_Px`sX8Xe_y1B^nrK?WKW^Ux7ZrMc4L34edgr`+N;5pVQWy*x7ig_ zdIljucz#v8Y>_=-jzB1paZ77!Ig>us!oodc^Zxj*(`YEyLk!1Z@yVKVL-4gvUp#Zy zZOc|Or86-vT_5$r?~FujTL?T&b`4LtGKy%8K!?apq-GWbm{Ef5i=UP9o-#E=_W2%S zG&7oKyu+KzGy|M7e9p&cFP@V&TbGoQQqTcs>mN}#1m0+$>+F0p9Zks}Gmj1i>>1=o zLs4rzecU%Ioz)VXUNv|}N5}6$pU0euAhbQiOFh!R*UM;WO3`Sk+pgudalV5M*Xx-{ zrjg0Lmp(@UGxezg(b^v4$p$+Um|98kO6bwgI4;mu1%;P`7vpt;#vWir~@kDc00L~Za$~pEB1SH(WVTtWm!l* z*42u@haS6IlO_@s-(&+?nooE710``bokZ>9NP{hkwXJMsiRifDt8I0GScJ2?j{Cx4 z-^~TU_v*E+`k2pOyBNUiJNx$(HTI<8l`GaVy>~CUTn{XyO?*}H57fGsNK7hl-o1Z{ z-pW%)$#d&l;}@EaSw^Aezx9Ai0@Px1UT@x|rM8gZ^cM$q3H>a}3c$*$6dJlQk|KP@ z6Olc#k{%4Pj58I_<<#|IL)O7FWtB8Q&HoathC}b{=9lP3z!DZza4`DjC;@!dm(Qf&sRNfdi-{0*TIn_JHZmvM{o;3vgWp-2ta9 zXR<1Ir!u7aBsJjVXy@$;R?|-4Nn}pgB@o}hghDHIfgFh{GEUj%&VAUat@pNwE|C|- zrww{c`iHpb%%iV7T#<$Xmx4|=&<;)-I(bhnQ)F)K?i)ScN;7MiU(|$9I*Q@eP1=4=kBf?2DnYNbe9=Fb3UCBGp?~!0 zMu2QuD>>X;tL>$4Rpk%J6vSJxkmDBu&#l)EEB)SR7`ESACY)<-E&H*V%Ugc-pjduu z`M4my)QqOp*!VB;yhsM3&Ck&b1_#>K*W*hSl+Jgw@p;Rs+oCI`Tghl=g3B@xraPes zyQmydcgpyIg{t#Uh;;&JdOk|GmruGZSL)|gvex}+ROQ9U5;CHtMRx#;`EVg#KR*?! zp39I~l3xkS3lIIlPyqi`_n_$&iAY<@K+Ozb2y;bE8w#4j^kwy;=Nb@}Y*Nk7DW)Vp zxbGU|AcRnWswzsv9%}_Pl@wB!asI~l7rG#GKz%P7FQ<@&54tviHfvq5uIG8_a-qrg zwb6f?!s$DK_%u819O^tdXO8NB!%5lV(f@l?piJ*w!`|bVK-U@~bm_uR2aTOTPJ8)f zEMcFStthlez-l2oR{pxZe>~Rwk3n>Q@RFM@D0s!gwq`?dk&~ADYLl-^^ zatQ1T4;flyxrodTXQa&BbIO+ zM{F9}FxubT@`Pu6FCgfU8)0sm?Y~_-*W8i`Wv&NvjQCGCrrGaEno!Xv&fDw=W%?&2 zAC-B>XT~)_S=p`~$msIXeRU@=f7;_v=|CQ=k!SzG5u;JjTYp(%Y!G(d@ld6=y+TN$Sl{c|4l10MM$hQf_g^1sB|D}=! zG~dZO>ycU9zZ^w1TBRO#UQ_}@#efj)CV|+a8fF>kvh&9NV+!bHfk@{Jh=!{5S1S6E zEa+s0Wn=U_TQqm@r5$RTp8|?Kw+^l7)f_p1PZKRI6d@%QV35Jz^P3{ZTfgU){(Lf? z^VJcj6#Vvr1xLfT*g#V>Q{TuI*Ezu^E|5wtsTzhfxiU3cibln2n`PB`L5 z7nj>)@|m?56O5bgsbTLV#00P}OZ5-yp$YzPAx~_XyO*{SoY1umA9L?$g!EWtbxy2i z#cM4#pE#+?-upHho8BwP=NiW-u_|_6R};g8ORSi))qW2*Vl3}YeSCN&!Cn>DmCZeK z;vmO^b{X&^2hr|N2lpEPSMwg9GxS#Q5l~6qh(}OMOLgev=iNy|3>7Wivx~xWT19`- zAA4j%%9BYof*(kskHJE@#ErEspXXPIVK-)EVJCc4*?CbB=c=>Q9*;+PM_3~%q^awe zoinpJfd}_%`m}S+p|A(3U}EPvDM7lO4mOhr0v^WzEfqVjyPJm3pou#Y_r#vH?6EgL zYBCtmB{{6p2r+lZeoDBeg$U?XBvx2OMy0oZ22o~e@utfOWZd}%v4SJ36XigqT@glA zFuBO|s4W)fZi1=-mPsDrSqDA4cJ0?0zTSY&%alH`RFeO<{=Nhg zqq@cCGlU6FFYDG(17p?xf|#lrSE%1!Q9%|>{ICvjjKTZIImo5|;BRM*wQ4|KNd6x_ C@ZP`x 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 928c66053ec01045c3af6587d5a8c8ece6a40f94..e04e31f4a08831f638192a80f07d006bd0a0b0fb 100644 GIT binary patch delta 5131 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 sKK)x(0p1r)(i-BE^js# delta 3889 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