/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 Ġ- Ġ 2 0 2 2 Ġv ini 2 0 0 3 Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġdev . v ini 2 0 0 3 . hammer . chat . impl . client . callback Ċ Ċ import Ġcom . moj ang . bl aze 3 d . systems . Render System Ċ import Ġdev . v ini 2 0 0 3 . hammer . chat . registry . client . H CT ext ures Ċ import Ġdev . v ini 2 0 0 3 . hammer . chat . registry . common . HC Values Ċ import Ġdev . v ini 2 0 0 3 . hammer . core . api . client . util . Instance Utils Ċ import Ġnet . fabric mc . fabric . api . client . rendering . v 1 . Hud Render Callback Ċ import Ġnet . minecraft . client . gui . Drawable Helper Ċ import Ġnet . minecraft . client . gui . screen . Chat Screen Ċ import Ġnet . minecraft . client . util . math . Matrix Stack Ċ import Ġnet . minecraft . text . Literal Text Ċ import Ġnet . minecraft . text . Text Ċ import Ġnet . minecraft . text . Trans latable Text Ċ Ċ object ĠRender Hud Warnings Callback Ġ: ĠH ud Render Callback Ġ{ Ċ ĉ override Ġfun Ġon Hud Render ( matrix Stack : ĠMatrix Stack ?, Ġtick Delta : ĠFloat ) Ġ{ Ċĉĉ ĉ if Ġ( HC Values . SHOW _ WARNING S ) Ġ{ Ċĉĉĉ ĉ val Ġclient Ġ= ĠInstance Utils . CLIENT Ġ?: Ġreturn ĊĉĉĉĉĊĉĉĉ ĉ val Ġwindow Ġ= Ġclient . window Ċĉĉĉ ĉ val Ġscaled Width Ġ= Ġwindow . scaled Width Ċĉĉĉ ĉ val Ġscaled Height Ġ= Ġwindow . scaled Height ĊĉĉĉĉĊĉĉĉ ĉ if Ġ( HC Values . SHOW _ FEED BACK Ġ|| Ġ! HC Values . SHOW _ CHAT Ġ|| Ġ! HC Values . SHOW _ GLOBAL _ CHAT ) Ġ{ Ċĉĉĉĉ ĉ val Ġsize Ġ= Ġ 1 6 Ċĉĉĉĉ ĉ var Ġy Offset Ġ= Ġ 0 ĊĉĉĉĉĉĊĉĉĉĉ ĉ if Ġ( client . current Screen Ġis ĠChat Screen ) Ġ{ Ċĉĉĉĉĉ ĉ y Offset Ġ-= Ġ 1 4 ; Ċĉĉĉĉ ĉ } ĊĉĉĉĉĉĊĉĉĉĉ ĉ val Ġx 1 Ġ= Ġ 5 ; Ċĉĉĉĉ ĉ val Ġy 1 Ġ= Ġscaled Height Ġ- Ġ 5 Ġ- Ġsize Ġ+ Ġy Offset ; ĊĉĉĉĉĉĊĉĉĉĉ ĉ Render System . set Shader Texture ( 0 , ĠH CT ext ures . WARNING ); ĊĉĉĉĉĉĊĉĉĉĉ ĉ Drawable Helper . draw Texture ( matrix Stack , Ġ 5 , Ġscaled Height Ġ- Ġ 5 Ġ- Ġsize Ġ+ Ġy Offset , Ġsize , Ġsize , Ġ 0 . 0 F , Ġ 0 . 0 F , Ġ 1 6 , Ġ 1 6 , Ġ 1 6 , Ġ 1 6 ); ĊĉĉĉĉĉĊĉĉĉĉ ĉ if Ġ(! client . mouse . is Cursor Locked Ġ&& Ġclient . current Screen Ġis ĠChat Screen ) Ġ{ Ċĉĉĉĉĉ ĉ val Ġscreen Ġ= Ġclient . current Screen Ġas ĠChat Screen ĊĉĉĉĉĉĉĊĉĉĉĉĉ ĉ val Ġmouse X Ġ= Ġclient . mouse . x Ġ* Ġscaled Width Ġ/ Ġwindow . width ; Ċĉĉĉĉĉ ĉ val ĠmouseY Ġ= Ġclient . mouse . y Ġ* Ġscaled Height Ġ/ Ġwindow . height ; ĊĉĉĉĉĉĉĊĉĉĉĉĉ ĉ if Ġ( mouse X Ġ>= Ġx 1 Ġ&& ĠmouseY Ġ>= Ġy 1 Ġ&& Ġmouse X Ġ< Ġx 1 Ġ+ Ġsize Ġ&& ĠmouseY Ġ< Ġy 1 Ġ+ Ġsize ) Ġ{ Ċĉĉĉĉĉĉ ĉ val Ġtooltip s Ġ= Ġmutable ListOf < Text >() Ċĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉ ĉ if Ġ( HC Values . SHOW _ FEED BACK ) Ġ{ Ċĉĉĉĉĉĉĉ ĉ tooltip s . add ( Trans latable Text (" text . hammer . feedback . warning ")) Ċĉĉĉĉĉĉĉ ĉ tooltip s . add ( Trans latable Text (" text . hammer . feedback . toggle ")) Ċĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉ ĉ if Ġ(! HC Values . SHOW _ CHAT ) Ġ{ Ċĉĉĉĉĉĉĉ ĉ if Ġ( tooltip s . isNotEmpty ()) Ġ{ Ċĉĉĉĉĉĉĉĉ ĉ tooltip s . add ( Literal Text . EMPTY ); Ċĉĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉĉ ĉ tooltip s . add ( Trans latable Text (" text . hammer . chat . warning ")) Ċĉĉĉĉĉĉĉ ĉ tooltip s . add ( Trans latable Text (" text . hammer . chat . toggle ")) Ċĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉ ĉ if Ġ(! HC Values . SHOW _ GLOBAL _ CHAT ) Ġ{ Ċĉĉĉĉĉĉĉ ĉ if Ġ( tooltip s . isNotEmpty ()) Ġ{ Ċĉĉĉĉĉĉĉĉ ĉ tooltip s . add ( Literal Text . EMPTY ); Ċĉĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉĉ ĉ tooltip s . add ( Trans latable Text (" text . hammer . global _ chat . warning ")) Ċĉĉĉĉĉĉĉ ĉ tooltip s . add ( Trans latable Text (" text . hammer . global _ chat . toggle ")) Ċĉĉĉĉĉĉ ĉ } Ċĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉĉ Ċĉĉĉĉĉĉ ĉ screen . render Tooltip ( matrix Stack , Ġtooltip s , Ġmouse X . toInt (), ĠmouseY . toInt ()) Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ċ ĉ } Ċ }