/** Ċ Ġ* ĠThe ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠN ich olas ĠF eld man Ċ Ġ* Ċ Ġ* Ġ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 Ġtech . f eld man . better records . item Ċ Ċ import Ġtech . f eld man . better records . api . sound . I Color able Sound Holder Ċ import Ġtech . f eld man . better records . api . sound . I Repeat able Sound Holder Ċ import Ġtech . f eld man . better records . api . sound . I Sh uff l able Sound Holder Ċ import Ġtech . f eld man . better records . api . sound . IS ound Holder Ċ import Ġtech . f eld man . better records . helper . nbt . get Sounds Ċ import Ġtech . f eld man . better records . helper . nbt . is Repeat able Ċ import Ġtech . f eld man . better records . helper . nbt . is Sh uff l able Ċ import Ġnet . minecraft . client . resources . I 1 8 n Ċ import Ġnet . minecraft . client . util . I Tooltip Flag Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . world . World Ċ Ċ class ĠItem Record ( name : ĠString ) Ġ: ĠMod Item ( name ), ĠIS ound Holder , ĠI Repeat able Sound Holder , ĠI Sh uff l able Sound Holder , ĠI Color able Sound Holder Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġmax Sounds Ġ= Ġ 1 2 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġmax Stack Size Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Un localized Name ( stack : ĠItemStack ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsongs Ġ= Ġget Sounds ( stack ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( songs . count ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ" item . better records : record . blank " ĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġthere 's Ġonly Ġone Ġsong , Ġthe Ġname Ġwill Ġbe Ġset Ġin Ġ[ getItem Stack DisplayName ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" item . better records : record . multi " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ItemStack DisplayName ( stack : ĠItemStack ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsongs Ġ= Ġget Sounds ( stack ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġthere 's Ġonly Ġone Ġsong Ġon Ġthe Ġrecord , Ġwe Ġdon 't Ġwant Ġto Ġlocal ize Ġanything ĊĠĠĠĠĠĠĠ Ġ// Ġand Ġjust Ġuse Ġthat Ġname Ġinstead ĊĠĠĠĠĠĠĠ Ġif Ġ( songs . count () Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsongs . first (). name ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġit Ġhas Ġno Ġsongs Ġor Ġmore Ġthan Ġone , Ġwe Ġfall Ġback Ġon Ġlocal izing Ġit . ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . getItem Stack DisplayName ( stack ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Information ( stack : ĠItemStack , Ġworld : ĠWorld ?, Ġtooltip : ĠMutable List < String >, Ġflag : ĠI Tooltip Flag ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsongs Ġ= Ġget Sounds ( stack ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġonly Ġwant Ġto Ġadd Ġa Ġtooltip Ġto Ġthe Ġrecord Ġif Ġit Ġis Ġnot Ġempty ĊĠĠĠĠĠĠĠ Ġif Ġ( songs . isNotEmpty ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġthe Ġsong Ġinfo Ġto Ġthe Ġtooltip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( songs . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġthere Ġare Ġmultiple Ġsongs Ġon Ġthe Ġrecord , Ġwe Ġwant Ġto Ġdisplay Ġthem Ġall Ġin Ġan Ġitem ized Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsongs . forEach Indexed Ġ{ Ġindex , Ġsound Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip Ġ+= ĠI 1 8 n . format (" item . better records : record . desc . song ", Ġindex Ġ+ Ġ 1 , Ġsound . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġthere Ġis Ġonly Ġone Ġsong Ġon Ġthe Ġrecord , Ġwe Ġonly Ġwant Ġto Ġdisplay Ġthe Ġauthor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠBecause Ġthe Ġname Ġof Ġthe Ġsong Ġis Ġdisplayed Ġas Ġthe Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip Ġ+= ĠI 1 8 n . format (" item . better records : record . desc . by ", Ġsongs . first (). author ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAdd Ġthe Ġsize Ġto Ġthe Ġrecord . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġsongs . sum By Ġ{ Ġit . size Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip Ġ+= ĠI 1 8 n . format (" item . better records : record . desc . size ", Ġsize ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġit 's Ġrepeat able , Ġwe Ġshow Ġthat . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Repeat able ( stack )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip Ġ+= Ġ"\ u 0 0 a 7 e " Ġ+ ĠI 1 8 n . format (" item . better records : record . desc . repeat able ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġit 's Ġsh uff l able , Ġwe Ġshow Ġthat . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Sh uff l able ( stack )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtooltip Ġ+= Ġ"\ u 0 0 a 7 e " Ġ+ ĠI 1 8 n . format (" item . better records : record . desc . sh uff l able ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ