package Ġch . lead rian . samp . k amp . core . runtime . data Ċ Ċ import Ġch . lead rian . samp . k amp . core . api . data . Location Ċ import Ġch . lead rian . samp . k amp . core . api . data . Mutable Location Ċ import Ġch . lead rian . samp . k amp . core . api . data . Mutable Vector 2 D Ċ import Ġch . lead rian . samp . k amp . core . api . data . Mutable Vector 3 D Ċ import Ġch . lead rian . samp . k amp . core . api . data . Vector 2 D Ċ import Ġch . lead rian . samp . k amp . core . api . data . Vector 3 D Ċ Ċ internal Ġdata Ġclass ĠLocation Impl ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġx : ĠFloat , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġy : ĠFloat , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġz : ĠFloat , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġinterior Id : ĠInt , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġvirtual World Id : ĠInt Ċ ) Ġ: ĠLocation Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto Location (): ĠLocation Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġto Mutable Location (): ĠMutable Location Ġ= ĠMutable Location Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġz , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinterior Id Ġ= Ġinterior Id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvirtual World Id Ġ= Ġvirtual World Id ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġto Vector 3 D (): ĠVector 3 D Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġto Mutable Vector 3 D (): ĠMutable Vector 3 D Ġ= ĠMutable Vector 3 DI mpl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġz ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġto Vector 2 D (): ĠVector 2 D Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġto Mutable Vector 2 D (): ĠMutable Vector 2 D Ġ= ĠMutable Vector 2 DI mpl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġx , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġy ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġplus ( other : ĠVector 2 D ): ĠLocation Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġthis . x Ġ+ Ġother . x , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġthis . y Ġ+ Ġother . y ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġplus ( other : ĠVector 3 D ): ĠLocation Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġthis . x Ġ+ Ġother . x , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġthis . y Ġ+ Ġother . y , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġthis . z Ġ+ Ġother . z ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġminus ( other : ĠVector 2 D ): ĠLocation Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġthis . x Ġ- Ġother . x , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġthis . y Ġ- Ġother . y ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġminus ( other : ĠVector 3 D ): ĠLocation Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġthis . x Ġ- Ġother . x , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġthis . y Ġ- Ġother . y , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġthis . z Ġ- Ġother . z ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġtimes ( value : ĠFloat ): ĠLocation Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġthis . x Ġ* Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġthis . y Ġ* Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġthis . z Ġ* Ġvalue ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġdiv ( value : ĠFloat ): ĠLocation Ġ= Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ= Ġthis . x Ġ/ Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy Ġ= Ġthis . y Ġ/ Ġvalue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz Ġ= Ġthis . z Ġ/ Ġvalue ĊĠĠĠ Ġ) Ċ }