/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 - 2 0 1 9 ĠThe Ġlg ou 2 w Ġ< lg ou 2 w @ hotmail . com > Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . lg ou 2 w . ld k . nbt Ċ Ċ import Ġjava . io . Data Input Ċ import Ġjava . io . Data Output Ċ Ċ /** Ċ Ġ* Ġ## ĠN BT Tag List Ġ( éĽĨåĲĪ ĠN BT Ġ æłĩçŃ¾ ) Ċ Ġ* Ċ Ġ* Ġ@ see Ġ[ List ] Ċ Ġ* Ġ@ author Ġlg ou 2 w Ċ Ġ*/ Ċ class ĠN BT Tag List Ġ: ĠN BT Base < Mutable List < NBT Base <* >> >, ĠMutable List < NBT Base <* >> Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠThe ĠN BT Ġtag Ġtype Ġwithin Ġthis Ġcollection . ĊĠĠĠĠ Ġ* Ġ* ĠæŃ¤ éĽĨåĲĪ åĨħ çļĦ ĠN BT Ġ æłĩçŃ¾ ç±»åŀĭ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Type ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġelement Type Ġ= ĠN BT Type . TAG _ END ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠ Ġconstructor ( name : ĠString Ġ= Ġ"", Ġvalue : ĠMutable List < NBT Base <* >> Ġ= ĠArrayList ()) Ġ: Ġsuper ( name , Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠMutable List < NBT Base <* >> Ġ= ĠArrayList ()) Ġ: Ġsuper ("", Ġvalue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġvalue : ĠMutable List < NBT Base <* >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsuper . value 0 ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . value 0 Ġ= ĠArrayList ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck ( element : ĠN BT Base <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( elementType Ġ== ĠN BT Type . TAG _ END ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Type Ġ= Ġelement . type ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( elementType Ġ!= Ġelement . type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" The Ġtype Ġof Ġlist Ġelement Ġvalue Ġthat Ġdoes Ġnot Ġmatch , Ġshould Ġbe : Ġ$ elementType .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġtype Ġ= ĠN BT Type . TAG _ LIST ĊĊĠĠĠ Ġoverride Ġfun Ġread ( input : ĠData Input ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġelement Type Ġ= ĠN BT Type . from Id ( input . read Unsigned Byte ()) Ġ?: ĠN BT Type . TAG _ END ĊĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġinput . readInt () ĊĠĠĠĠĠĠĠ Ġthis . elementType Ġ= Ġelement Type ĊĠĠĠĠĠĠĠ Ġsuper . value 0 Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġlength ). forEach Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtag Ġ= ĠN BT Type . create Tag ( elementType ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtag . read ( input ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( tag ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwrite ( output : ĠData Output ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput . write Byte ( if Ġ( isEmpty ()) Ġ 0 Ġelse Ġelement Type . id ) ĊĠĠĠĠĠĠĠ Ġoutput . writeInt ( size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġvalue 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġel . write ( output ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclone (): ĠN BT Tag List Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġvalue 0 . map ( NBT Base <* >:: clone ). to Mutable List () ĠĠ Ġ// Ġclone ĊĠĠĠĠĠĠĠ Ġreturn ĠN BT Tag List ( name , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . hashCode () Ġxor Ġelement Type . hashCode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( super . equals ( other ) Ġ&& Ġ( other Ġas ĠN BT Tag List ). elementType Ġ== Ġelement Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġother . value 0 Ġ== Ġvalue 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" NBT Tag List (${ toJson () })" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoJson (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("[ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(( index , Ġel ) Ġin Ġvalue 0 . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( el . toJson ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Mo j ang son (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("[ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(( index , Ġel ) Ġin Ġvalue 0 . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( el . to Mo j ang son ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġto Mo j ang son With Color (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("[ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(( index , Ġel ) Ġin Ġvalue 0 . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (", Ġ") Ġ// Ġone Ġspace Ġblank ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( el . to Mo j ang son With Color ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/// ĊĠĠĠ Ġ// ĊĊĠĠĠ Ġ@ Throws ( Class CastException :: class ) ĊĠĠĠ Ġfun Ġ< T > Ġas Elements (): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( elementType . is Wrapper ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue 0 . map Ġ{ Ġit Ġas ĠT Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue 0 . map Ġ{ Ġit . value Ġas ĠT Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġbyte Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ åŃĹèĬĤ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Byte ( var arg Ġvalue : ĠByte ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag Byte )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġbyte Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ åŃĹèĬĤ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Byte ( var arg Ġvalue : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map Ġ{ ĠN BT Tag Byte ( it . to Byte ()) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġshort Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ çŁŃ æķ´æķ° åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Short ( var arg Ġvalue : ĠShort ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag Short )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġshort Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ çŁŃ æķ´æķ° åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Short ( var arg Ġvalue : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map Ġ{ ĠN BT Tag Short ( it . to Short ()) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġint Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ æķ´æķ° åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Int ( var arg Ġvalue : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag Int )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġlong Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ éķ¿ æķ´æķ° åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Long ( var arg Ġvalue : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag Long )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġfloat Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ åįķ ç²¾ åº¦ æµ ® çĤ¹ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Float ( var arg Ġvalue : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag Float )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġdouble Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ åıĮ ç²¾ åº¦ æµ ® çĤ¹ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Double ( var arg Ġvalue : ĠDouble ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag Double )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġbyte Ġarray Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ åŃĹèĬĤ æķ°ç»Ħ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd ByteArray ( var arg Ġvalue : ĠByteArray ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag ByteArray )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġstring Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ åŃĹç¬¦ä¸² åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd String ( var arg Ġvalue : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag String )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġlist Ġtag Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ éĽĨåĲĪ æłĩçŃ¾ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd List ( var arg Ġvalue : ĠN BT Tag List ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġcompound Ġtag Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ å¤į åĲĪ æłĩçŃ¾ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Compound ( var arg Ġvalue : ĠN BT Tag Compound ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġint Ġarray Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ æķ´æķ° æķ°ç»Ħ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd IntArray ( var arg Ġvalue : ĠInt Array ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map (:: NBT Tag IntArray )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠAdd Ġthe Ġgiven Ġboolean Ġ[ value ] Ġto Ġthis Ġcollection Ġtag . ĊĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ å¸ĥ å°Ķ åĢ¼ Ġ[ value ] Ġæ·»åĬł åĪ° æŃ¤ éĽĨåĲĪ æłĩçŃ¾ åĨħ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġcollection Ġelement Ġtype Ġand Ġparameter Ġtype Ġdo Ġnot Ġmatch . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġå¦Ĥæŀľ éĽĨåĲĪ åħĥç´ł ç±»åŀĭ åĴĮ åıĤæķ° ç±»åŀĭ ä¸į åĮ¹éħį . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Boolean ( var arg Ġvalue : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġadd All ( value . map Ġ{ ĠN BT Tag Byte ( if Ġ( it ) Ġ 1 . to Byte () Ġelse Ġ 0 . to Byte ()) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĊĠĠĠ Ġ/// ĊĊĠĠĠ Ġoverride Ġfun Ġiterator (): ĠMutable Iterator < NBT Base <* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . iterator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġsize : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġvalue 0 . size ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( element : ĠN BT Base < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . contains ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains All ( elements : ĠCollection < NBT Base <* >> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . contains All ( elements ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ( index : ĠInt ): ĠN BT Base < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 [ index ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠindexOf ( element : ĠN BT Base < *> ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . indexOf ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlast IndexOf ( element : ĠN BT Base < *> ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . lastIndexOf ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd ( element : ĠN BT Base < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( element ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . add ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd ( index : ĠInt , Ġelement : ĠN BT Base <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( element ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . add ( index , Ġelement ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd All ( index : ĠInt , Ġelements : ĠCollection < NBT Base <* >> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġelements ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . addAll ( index , Ġelements ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd All ( elements : ĠCollection < NBT Base <* >> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġelements ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . addAll ( elements ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue 0 . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist Iterator (): ĠMutable List Iterator < NBT Base <* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . list Iterator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist Iterator ( index : ĠInt ): ĠMutable List Iterator < NBT Base <* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . list Iterator ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( element : ĠN BT Base < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( element ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . remove ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove All ( elements : ĠCollection < NBT Base <* >> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġelements ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . removeAll ( elements ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove At ( index : ĠInt ): ĠN BT Base < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . remove At ( index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretain All ( elements : ĠCollection < NBT Base <* >> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( el Ġin Ġelements ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( el ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . retain All ( elements ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset ( index : ĠInt , Ġelement : ĠN BT Base < *> ): ĠN BT Base < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( element ) ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . set ( index , Ġelement ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsub List ( from Index : ĠInt , Ġto Index : ĠInt ): ĠMutable List < NBT Base <* >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue 0 . sub List ( from Index , Ġto Index ) ĊĠĠĠ Ġ} Ċ } Ċ