package Ġjp . kat ana . nbt . tag Ċ Ċ import Ġjp . kat ana . debug . IP rint able Ċ import Ġjp . kat ana . factory . Simple Factory Ċ import Ġjp . kat ana . nbt . factory . NBT Tag Factory Ċ import Ġjp . kat ana . io . NBT Stream Ċ Ċ interface ĠI Named Tag Ġ: ĠI Print able Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEND : ĠByte Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBYTE : ĠByte Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSH ORT : ĠByte Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠINT : ĠByte Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLONG : ĠByte Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFLOAT : ĠByte Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDOUBLE : ĠByte Ġ= Ġ 6 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBYTE _ ARRAY : ĠByte Ġ= Ġ 7 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSTRING : ĠByte Ġ= Ġ 8 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLIST : ĠByte Ġ= Ġ 9 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOMP O UND : ĠByte Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠINT _ ARRAY : ĠByte Ġ= Ġ 1 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLONG _ ARRAY : ĠByte Ġ= Ġ 1 2 ĊĊĠĠĠĠĠĠĠ Ġvar Ġfactory : ĠSimple Factory < Byte , Ġ( String ) Ġ-> ĠI Named Tag > Ġ= ĠN BT Tag Factory () ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Tag ( type : ĠByte , Ġname : ĠString Ġ= Ġ"") : ĠI Named Tag Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġf Ġ= Ġfactory [ type ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( f Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġf ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEnd Tag () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġname : ĠString ĊĠĠĠ Ġval Ġtype : ĠByte ĊĊĠĠĠ Ġfun Ġwrite ( stream : ĠN BT Stream ) ĊĠĠĠ Ġfun Ġread ( stream : ĠN BT Stream ) Ċ }