/* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠDe fl ated Pick le Ġunder Ġthe ĠMIT Ġlicense Ġ*/ Ċ Ċ package Ġcom . def lated pickle . bug magic . common . networking . message Ċ Ċ import Ġcom . def lated pickle . bug magic . api . common . util . A IT ask String Ċ import Ġcom . def lated pickle . bug magic . api . common . util . extension . read Entity A IT ask Entry Ċ import Ġcom . def lated pickle . bug magic . api . common . util . extension . write Entity A IT ask Entry Ċ import Ġio . netty . buffer . Byte Buf Ċ import Ġnet . minecraftforge . fml . common . network . Byte Buf Utils Ċ import Ġnet . minecraftforge . fml . common . network . simple impl . I Message Ċ Ċ /** Ċ Ġ* ĠA Ġpacket Ġthat Ġcontains ; Ġan Ġentity ĠID , Ġtheir ĠAI Ġtasks Ġand Ġtheir Ġexecuting ĠAI Ġtasks Ċ Ġ* Ġ@ see Ġ[ Message Entity Tasks ] Ċ Ġ*/ Ċ class ĠMessage Entity Tasks ( ĊĠĠĠ Ġprivate Ġvar Ġentity ID : ĠInt , ĊĠĠĠ Ġprivate Ġvar Ġtask Entries : ĠSet < A IT ask String >, ĊĠĠĠ Ġprivate Ġvar Ġexecuting Task Entries : ĠSet < A IT ask String > Ċ ) Ġ: ĠI Message Ġ{ ĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġconstructor () Ġ: Ġthis ( entity ID Ġ= Ġ 1 , Ġtask Entries Ġ= Ġset Of (), Ġexecuting Task Entries Ġ= Ġset Of ()) ĊĊĠĠĠ Ġoperator Ġfun Ġcomponent 1 () Ġ= Ġthis . entity ID ĊĠĠĠ Ġoperator Ġfun Ġcomponent 2 () Ġ= Ġthis . task Entries ĊĠĠĠ Ġoperator Ġfun Ġcomponent 3 () Ġ= Ġthis . exec uting Task Entries ĊĊĠĠĠ Ġoverride Ġfun Ġto Bytes ( buf : ĠByte Buf ) Ġ{ ĊĠĠĠĠĠĠĠ ĠByte Buf Utils . write Var Int ( buf , Ġthis . entity ID , Ġ 4 ) ĊĊĠĠĠĠĠĠĠ Ġbuf . writeInt ( this . task Entries . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġthis . task Entries . iterator ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Entity A IT ask Entry ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbuf . writeInt ( this . exec uting Task Entries . size ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġthis . exec uting Task Entries . iterator ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . write Entity A IT ask Entry ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfrom Bytes ( buf : ĠByte Buf ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . entity ID Ġ= ĠByte Buf Utils . read Var Int ( buf , Ġ 4 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġentry Set Ġ= Ġmutable Set Of < A IT ask String >() ĊĠĠĠĠĠĠĠ Ġval Ġentry Length Ġ= Ġbuf . readInt () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġentry Length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry Set . add ( buf . read Entity A IT ask Entry ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . task Entries Ġ= Ġentry Set ĊĊĠĠĠĠĠĠĠ Ġval Ġexecuting Set Ġ= Ġmutable Set Of < A IT ask String >() ĊĠĠĠĠĠĠĠ Ġval Ġexecuting Length Ġ= Ġbuf . readInt () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġexecuting Length ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecuting Set . add ( buf . read Entity A IT ask Entry ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . exec uting Task Entries Ġ= Ġexecuting Set ĊĠĠĠ Ġ} Ċ } Ċ