/* Ċ Ġ* Ġ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 . util . Collections Ċ Ċ /** Ċ Ġ* Ġ## ĠN BT Type Ġ( NBT Ġ æłĩçŃ¾ ç±»åŀĭ ) Ċ Ġ* Ċ Ġ* Ġ* ĠEnumeration Ġof Ġthe Ġtag Ġtype Ġof Ġthe ĠMinecraft ĠN BT ĠFormat . Ċ Ġ* Ġ* Ġ æŀļ ä¸¾ ĠMinecraft ĠN BT Ġ æł¼å¼ı çļĦ æłĩçŃ¾ ç±»åŀĭ . Ċ Ġ* Ċ Ġ* Ġ@ author Ġlg ou 2 w Ċ Ġ*/ Ċ enum Ġclass ĠN BT Type ( ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠTag Ġtype ĠId . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġ æłĩçŃ¾ ç±»åŀĭçļĦ ĠId . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt , ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠThe Ġprimitive Ġtype Ġof Ġtag Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġ æłĩçŃ¾ ç±»åŀĭçļĦ åŁºæľ¬ ç±»åŀĭ . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġprimitive : ĠClass <* >, ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠThe Ġreference Ġtype Ġof Ġtag Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġ æłĩçŃ¾ ç±»åŀĭçļĦ å¼ķçĶ¨ ç±»åŀĭ . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġreference : ĠClass <* >, ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠThe Ġwrapped Ġtype Ġof Ġtag Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġ æłĩçŃ¾ ç±»åŀĭçļĦ åĮħ è£ħ ç±»åŀĭ . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġwrapped : ĠClass < out ĠN BT Base <* >>, ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠA Ġtag Ġtype Ġwith Ġa Ġspecific Ġsuffix . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġ åħ·æľī çī¹å®ļ åĲİ ç¼Ģ çļĦ æłĩçŃ¾ ç±»åŀĭ . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT . to Mo j ang son ] ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġmo j ang son Suffix : ĠString ? Ġ= Ġnull Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ END ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` void ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Void . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag End . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag End ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ END ( 0 , Ġjava . lang . Void . TYPE , Ġjava . lang . Void :: class . java , ĠN BT Tag End :: class . java ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ BYTE ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` byte ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Byte . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Byte . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠS uffix Ġ= Ġ` b ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Byte ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ BYTE ( 1 , Ġjava . lang . Byte . TYPE , Ġjava . lang . Byte :: class . java , ĠN BT Tag Byte :: class . java , Ġ" b "), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ SHORT ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` short ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Short . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Short . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠS uffix Ġ= Ġ` s ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Short ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ SHORT ( 2 , Ġjava . lang . Short . TYPE , Ġjava . lang . Short :: class . java , ĠN BT Tag Short :: class . java , Ġ" s "), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ INT ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` int ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Integer . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Int . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Int ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ INT ( 3 , Ġjava . lang . Integer . TYPE , Ġjava . lang . Integer :: class . java , ĠN BT Tag Int :: class . java , Ġ""), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ LONG ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` long ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Long . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Long . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠS uffix Ġ= Ġ` L ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Long ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ LONG ( 4 , Ġjava . lang . Long . TYPE , Ġjava . lang . Long :: class . java , ĠN BT Tag Long :: class . java , Ġ" L "), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ FLOAT ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` float ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Float . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Float . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠS uffix Ġ= Ġ` f ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Float ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ FLOAT ( 5 , Ġjava . lang . Float . TYPE , Ġjava . lang . Float :: class . java , ĠN BT Tag Float :: class . java , Ġ" f "), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ DOUBLE ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` double ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . Double . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Double . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠS uffix Ġ= Ġ` d ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Double ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ DOUBLE ( 6 , Ġjava . lang . Double . TYPE , Ġjava . lang . Double :: class . java , ĠN BT Tag Double :: class . java , Ġ" d "), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ BYTE _ ARRAY ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` byte Ġ[ Ġ] ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` byte Ġ[ Ġ] ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag ByteArray . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag ByteArray ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ BYTE _ ARRAY ( 7 , ĠByteArray :: class . java , ĠByteArray :: class . java , ĠN BT Tag ByteArray :: class . java ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ STRING ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` String ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . lang . String . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag String . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag String ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ STRING ( 8 , Ġjava . lang . String :: class . java , Ġjava . lang . String :: class . java , ĠN BT Tag String :: class . java ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ LIST ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` java . util . List . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . util . List . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag List . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag List ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ LIST ( 9 , Ġjava . util . List :: class . java , Ġjava . util . List :: class . java , ĠN BT Tag List :: class . java ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ COMP O UND ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` java . util . Map . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` java . util . Map . class ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Compound . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Compound ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ COMP O UND ( 1 0 , Ġjava . util . Map :: class . java , Ġjava . util . Map :: class . java , ĠN BT Tag Compound :: class . java ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ INT _ ARRAY ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` int Ġ[ Ġ] ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` int Ġ[ Ġ] ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag IntArray . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag IntArray ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ INT _ ARRAY ( 1 1 , ĠInt Array :: class . java , ĠInt Array :: class . java , ĠN BT Tag IntArray :: class . java ), ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠTAG _ LONG _ ARRAY ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠPrimitive Ġ= Ġ` long Ġ[ Ġ] ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠReference Ġ= Ġ` long Ġ[ Ġ] ` ĊĠĠĠĠ Ġ* ĠĠĠĠĠ Ġ* ĠWr apped Ġ= Ġ` NBT Tag Long Array . class ` ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Long Array ] ĊĠĠĠĠ Ġ* Ġ@ since ĠMinecraft Ġ 1 . 1 2 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTAG _ LONG _ ARRAY ( 1 2 , ĠLong Array :: class . java , ĠLong Array :: class . java , ĠN BT Tag Long Array :: class . java ), ĊĠĠĠ Ġ; ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠGets Ġwhether Ġthis ĠN BT Ġtype Ġis Ġa Ġnumeric Ġtype . ĊĠĠĠĠ Ġ* Ġ* Ġèİ·åıĸ æŃ¤ ĠN BT Ġ ç±»åŀĭ æĺ¯åĲ¦ ä¸º æķ°åŃĹ ç±»åŀĭ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Byte ] ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Short ] ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Int ] ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Long ] ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Float ] ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Double ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Number (): ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġthis Ġ== ĠTAG _ BYTE Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ== ĠTAG _ SHORT Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ== ĠTAG _ INT Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ== ĠTAG _ LONG Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ== ĠTAG _ FLOAT Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġ== ĠTAG _ DOUBLE ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ* ĠGets Ġwhether Ġthis ĠN BT Ġtype Ġis Ġa Ġwrapper Ġtype . ĊĠĠĠĠ Ġ* Ġ* Ġèİ·åıĸ æŃ¤ ĠN BT Ġ ç±»åŀĭ æĺ¯åĲ¦ ä¸º åĮħ è£ħ ç±»åŀĭ . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag List ] ĊĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Tag Compound ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Wrapper (): ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= Ġthis Ġ== ĠTAG _ LIST Ġ|| Ġthis Ġ== ĠTAG _ COMP O UND ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠID _ MAP Ġ: ĠMap < Int , ĠN BT Type > ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCLASS _ MAP Ġ: ĠMap < Class <* >, ĠN BT Type > ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Map Ġ= ĠHashMap < Int , ĠN BT Type >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclass Map Ġ= ĠHashMap < Class <* >, ĠN BT Type >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Map [ it . id ] Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Map [ it . primitive ] Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Map [ it . reference ] Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclass Map [ it . wrapped ] Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠID _ MAP Ġ= ĠCollections . unmodifiable Map ( id Map ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCLASS _ MAP Ġ= ĠCollections . unmodifiable Map ( class Map ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠFind Ġthe Ġcorresponding ĠN BT Ġtype Ġfrom Ġthe Ġgiven Ġ[ id ]. ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġä»İ ç»Ļ å®ļçļĦ Ġ[ id ] Ġä¸Ń æŁ¥æī¾ å¯¹åºĶçļĦ ĠN BT Ġ ç±»åŀĭ . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Type . id ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġid ĠType Ġid ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġid Ġ ç±»åŀĭ ĠId ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Id ( id : ĠInt ): ĠN BT Type ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠID _ MAP [ id ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠFind Ġthe Ġcorresponding ĠN BT Ġtype Ġfrom Ġthe Ġgiven Ġ[ clazz ] Ġtype . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġä»İ ç»Ļ å®ļçļĦ Ġ[ clazz ] Ġ ç±»åŀĭ ä¸Ń æŁ¥æī¾ å¯¹åºĶçļĦ ĠN BT Ġ ç±»åŀĭ . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Type . primitive ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Type . reference ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ see Ġ[ NBT Type . wrapped ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġclazz ĠClass ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġclazz Ġ ç±» ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Class ( clazz : ĠClass < *> ): ĠN BT Type ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCLASS _ MAP [ clazz ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* ĠCreate Ġa Ġcorresponding Ġtype Ġof Ġinstance Ġobject Ġwith Ġthe Ġgiven Ġ[ type ] ĠN BT Ġtype Ġnamed Ġ[ name ]. ĊĠĠĠĠĠĠĠĠ Ġ* Ġ* Ġå°Ĩ ç»Ļ å®ļçļĦ Ġ[ type ] ĠN BT Ġ ç±»åŀĭ ä»¥ Ġ[ name ] Ġ åĳ½åĲį åĪĽå»ºä¸Ģä¸ª å¯¹åºĶ ç±»åŀĭçļĦ å®ŀä¾ĭ å¯¹è±¡ . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġtype ĠN BT Ġtype ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġtype ĠN BT Ġ ç±»åŀĭ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġname ĠName ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġname Ġ åĲįç§° ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠĠĠĠĠ Ġfun Ġcreate Tag ( type : ĠN BT Type , Ġname : ĠString Ġ= Ġ"") : ĠN BT Base < *> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ END Ġ-> ĠN BT Tag End . INSTANCE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ BYTE Ġ-> ĠN BT Tag Byte ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ SHORT Ġ-> ĠN BT Tag Short ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ INT Ġ-> ĠN BT Tag Int ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ LONG Ġ-> ĠN BT Tag Long ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ FLOAT Ġ-> ĠN BT Tag Float ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ DOUBLE Ġ-> ĠN BT Tag Double ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ BYTE _ ARRAY Ġ-> ĠN BT Tag ByteArray ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ STRING Ġ-> ĠN BT Tag String ( name Ġ= Ġname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ LIST Ġ-> ĠN BT Tag List ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ COMP O UND Ġ-> ĠN BT Tag Compound ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ INT _ ARRAY Ġ-> ĠN BT Tag IntArray ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG _ LONG _ ARRAY Ġ-> ĠN BT Tag Long Array ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ