package Ġworld s . greg s . hest ia . network . update . codec . encode Ċ Ċ import Ġworld . greg s . hest ia . core . network . codec . packet . Endian Ċ import Ġworld . greg s . hest ia . core . network . codec . packet . Modifier Ċ import Ġworld . greg s . hest ia . core . network . codec . packet . Packet Builder Ċ import Ġworld s . greg s . hest ia . game . update . blocks . Force Movement Block Ċ import Ġworld s . greg s . hest ia . network . update . codec . Update Block Encoder Ċ Ċ class ĠForce Movement Block Encoder ( private Ġval Ġnpc : ĠBoolean ) Ġ: ĠUpdate Block Encoder < Force Movement Block > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġencode ( builder : ĠPacket Builder , Ġblock : ĠForce Movement Block ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ(_, Ġfirst , Ġsecond , Ġdirection ) Ġ= Ġblock ĊĠĠĠĠĠĠĠ Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( first . delta X , ĠModifier . SUB TRACT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( npc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( first . delta Y , ĠModifier . SUB TRACT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( second . delta X , ĠModifier . IN VERSE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( second . delta Y , ĠModifier . IN VERSE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Short ( first . delay ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( first . delta Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( second . delta X , ĠModifier . ADD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( second . delta Y , ĠModifier . ADD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Short ( first . delay , Ġorder Ġ= ĠEn dian . LIT TLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Short ( second . delay , ĠModifier . ADD , ĠEn dian . LIT TLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( npc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( direction , ĠModifier . SUB TRACT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Byte ( direction , ĠModifier . ADD ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }