package Ġpump kin . world . id Ċ Ċ import Ġit . un imi . ds i . fast util . ints . IntArray FIFO Queue Ċ import Ġit . un imi . ds i . fast util . ints . Int Priority Queue Ċ Ċ data Ġclass ĠSimple EntityId Manager ( val Ġworld Server Id : ĠInt ) Ġ: ĠEntity Id Manager Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck ( world Server Id Ġ<= ĠByte . MAX _ VALUE ) Ġ{ Ġ" Distributed ĠEntity ĠIDs Ġcan " Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOUN TER _ MAX : ĠInt Ġ= Ġ 1 6 7 7 7 2 1 6 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġcounter : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġval Ġre claimed : ĠInt Priority Queue Ġ= ĠInt Array FIFO Queue () ĊĊĠĠĠ Ġoverride Ġfun Ġacquire (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! re claimed . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġre claimed . de queue Int () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( this . counter Ġ< ĠCOUN TER _ MAX ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( this . counter ++ ). mask ( this . world Server Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" All Ġentity ĠIDs Ġare Ġin Ġuse !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrelease ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġserver Mask Ġ= Ġid Ġand Ġ 0 xFF ĊĠĠĠĠĠĠĠ Ġcheck ( server Mask Ġ== Ġworld Server Id ) Ġ{ Ġ" Tri ed Ġto Ġrelease Ġan Ġentity Ġid Ġfor Ġa Ġserver Ġ($ server Mask ) Ġthat Ġisn 't Ġour s Ġ($ world Server Id )" Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . re claimed . enqueue ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠInt . mask ( world Server Id : ĠInt ): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġ( this Ġshl Ġ 8 ) Ġor Ġ( world Server Id Ġand Ġ 0 xFF ) Ċ }