package Ġrs . em ulate . legacy . widget . type Ċ Ċ import Ġio . netty . buffer . Byte Buf Ċ import Ġio . netty . buffer . Un p ooled Ċ import Ġrs . em ulate . legacy . widget . Widget Ċ import Ġrs . em ulate . legacy . widget . Widget Group Ċ import Ġrs . em ulate . legacy . widget . Widget Group . MODEL Ċ import Ġrs . em ulate . legacy . widget . Widget Option Ċ import Ġrs . em ulate . legacy . widget . script . Legacy Client Script Ċ import Ġrs . em ulate . legacy . widget . type . Model Widget . Model Ċ import Ġjava . util . Arrays Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Widget Group . MODEL ] Ġ[ Widget ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġid ĠThe Ġid Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġparent ĠThe Ġparent Ġid Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġoption Type ĠThe Ġ[ Widget Option ] Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġcontent ĠThe Ġcontent Ġtype Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġwidth ĠThe Ġwidth Ġof Ġthe ĠModel Widget , Ġin Ġpixels . Ċ Ġ* Ġ@ param Ġheight ĠThe Ġwidth Ġof Ġthe ĠModel Widget , Ġin Ġpixels . Ċ Ġ* Ġ@ param Ġalpha ĠThe Ġalpha Ġof Ġthe ĠModel Widget , Ġin Ġpixels . Ċ Ġ* Ġ@ param Ġhover ĠThe Ġhover Ġid Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġscripts ĠThe Ġ[ List ] Ġof Ġ[ Legacy Client Script ] s . Ċ Ġ* Ġ@ param Ġoption ĠThe Ġ[ Option ] Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġhover Text ĠThe Ġhover Ġtext Ġof Ġthe ĠModel Widget . Ċ Ġ* Ġ@ param Ġprimary ĠThe Ġdefault Ġ[ Model ]. Ċ Ġ* Ġ@ param Ġsecondary ĠThe Ġsecondary Ġ[ Model ]. Ċ Ġ* Ġ@ param Ġscale ĠThe Ġscale Ġof Ġthe Ġmodel . Ċ Ġ* Ġ@ param Ġpitch ĠThe Ġpitch Ġof Ġthe Ġmodel . Ċ Ġ* Ġ@ param Ġroll ĠThe Ġroll Ġof Ġthe Ġmodel . Ċ Ġ*/ Ċ class ĠModel Widget ( ĊĠĠĠ Ġid : ĠInt , Ġparent : ĠInt ?, Ġoption Type : ĠWidget Option , Ġcontent : ĠInt , Ġwidth : ĠInt , Ġheight : ĠInt , Ġalpha : ĠInt , ĊĠĠĠ Ġhover : ĠInt ?, Ġscripts : ĠList < Legacy Client Script >, Ġoption : ĠOption ?, Ġhover Text : ĠString ?, ĊĠĠĠ Ġprivate Ġval Ġprimary : ĠModel , ĊĠĠĠ Ġprivate Ġval Ġsecondary : ĠModel , ĊĠĠĠ Ġprivate Ġval Ġscale : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġpitch : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġroll : ĠInt Ċ ) Ġ: ĠWidget ( id , Ġparent , ĠMODEL , Ġoption Type , Ġcontent , Ġwidth , Ġheight , Ġalpha , Ġhover , Ġscripts , Ġoption , Ġhover Text ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġmodel Ġused Ġas Ġpart Ġof Ġa Ġ[ Model Widget ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠModel ( val Ġid : ĠInt ?, Ġval Ġanimation : ĠInt ?) ĊĊĠĠĠ Ġoverride Ġfun Ġencode B es poke (): ĠByte Buf Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsize Ġ= Ġ 3 Ġ* Ġjava . lang . Short . BYTES ĊĠĠĠĠĠĠĠ Ġfor Ġ( model Ġin ĠArrays . asList ( primary , Ġsecondary )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ+= Ġif Ġ( model . id Ġ!= Ġnull ) Ġjava . lang . Short . BYTES Ġelse Ġjava . lang . Byte . BYTES ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ+= Ġif Ġ( model . animation Ġ!= Ġnull ) Ġjava . lang . Short . BYTES Ġelse Ġjava . lang . Byte . BYTES ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠUn p ooled . buffer ( size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( value Ġin ĠlistOf ( primary . id , Ġsecondary . id , Ġprimary . animation , Ġsecondary . animation )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Byte ( value Ġshr Ġ 8 Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Byte ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . write Boolean ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuffer . write Short ( scale ) ĊĠĠĠĠĠĠĠ Ġbuffer . write Short ( pitch ) ĊĠĠĠĠĠĠĠ Ġbuffer . write Short ( roll ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer ĊĠĠĠ Ġ} Ċ Ċ } Ċ