package Ġcom . jacob t read . al to . utils . nbt . types Ċ Ċ import Ġcom . jacob t read . al to . utils . nbt . NBT Base Ċ import Ġcom . jacob t read . al to . utils . nbt . NBT Size Tracker Ċ import Ġcom . jacob t read . al to . utils . nbt . SHORT Ċ import Ġjava . io . Data Input Ċ import Ġjava . io . Data Output Ċ Ċ class ĠN BT Short ( private Ġvar Ġdata : ĠShort Ġ= Ġ 0 ) Ġ: ĠNB TP ri mitive () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġid : ĠByte Ġ= ĠSH ORT ĊĠĠĠ Ġoverride Ġfun Ġas Long (): ĠLong Ġ= Ġdata . to Long () ĊĠĠĠ Ġoverride Ġfun Ġas Int (): ĠInt Ġ= Ġdata . toInt () ĊĠĠĠ Ġoverride Ġfun Ġas Short (): ĠShort Ġ= Ġdata ĊĠĠĠ Ġoverride Ġfun Ġas Byte (): ĠByte Ġ= Ġ( as Int () Ġand Ġ 2 5 5 ). to Byte () ĊĠĠĠ Ġoverride Ġfun Ġas Double (): ĠDouble Ġ= Ġdata . toDouble () ĊĠĠĠ Ġoverride Ġfun Ġas Float (): ĠFloat Ġ= Ġdata . toFloat () ĊĠĠĠ Ġoverride Ġfun Ġcopy (): ĠN BT Base Ġ= ĠN BT Short ( data ) ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġ"${ data } s " ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= Ġsuper . hashCode () Ġxor Ġas Int () ĊĠĠĠ Ġoverride Ġfun Ġwrite ( output : ĠData Output ) Ġ{ ĊĠĠĠĠĠĠ Ġoutput . write Short ( data . toInt ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread ( input : ĠData Input , Ġdepth : ĠInt , Ġsize Tracker : ĠN BT Size Tracker ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsize Tracker . read ( 8 0 L ) ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġinput . read Short () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠN BT Short ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( other . id Ġ!= Ġid ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġdata Ġ== Ġother . data ĊĠĠĠ Ġ} Ċ }