ArrayVoxelSpace class

Пакет: com.hypixel.hytale.builtin.hytalegenerator.voxelspace

Файл: com/hypixel/hytale/builtin/hytalegenerator/voxelspace/ArrayVoxelSpace.java

implements: VoxelSpace<T>

Поля (4)

МодификаторыТипИмя
Vector3i var2
int var3
int var4
int var5

Методы (5)

МодификаторыВозвратСигнатура
for for(int var2 = this.bounds.min.x; var2 < this.bounds.max.x; var2++)
for for(int var3 = this.bounds.min.y; var3 < this.bounds.max.y; var3++)
for for(int var4 = this.bounds.min.z; var4 < this.bounds.max.z; var4++)
public void offsetvoid offset(@Nonnull Vector3i var1)
public void offsetOppositevoid offsetOpposite(@Nonnull Vector3i var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.hytalegenerator.voxelspace;

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.GridUtils;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3i;

class="kw">public class ArrayVoxelSpace<T> class="kw">implements VoxelSpace<T> {
   @Nonnull
   class="kw">private class="kw">final Bounds3i bounds;
   @Nonnull
   class="kw">private class="kw">final T[] contents;

   class="kw">public ArrayVoxelSpace(@Nonnull Bounds3i var1) {
      this.bounds = var1.clone();
      Vector3i var2 = var1.getSize();
      int var3 = var2.x * var2.y * var2.z;
      this.contents = (T[])(new Object[var3]);
   }

   class="kw">public void offset(@Nonnull Vector3i var1) {
      this.bounds.offset(var1);
   }

   class="kw">public void offsetOpposite(@Nonnull Vector3i var1) {
      this.bounds.offsetOpposite(var1);
   }

   @Override
   class="kw">public void set(T var1, int var2, int var3, int var4) {
      assert this.bounds.contains(var2, var3, var4);
      int var5 = GridUtils.toIndexFromPositionYXZ(var2, var3, var4, this.bounds);
      this.contents[var5] = var1;
   }

   @Override
   class="kw">public void set(T var1, @Nonnull Vector3i var2) {
      this.set(var1, var2.x, var2.y, var2.z);
   }

   @Override
   class="kw">public void setAll(T var1) {
      for (int var2 = this.bounds.min.x; var2 < this.bounds.max.x; var2++) {
         for (int var3 = this.bounds.min.y; var3 < this.bounds.max.y; var3++) {
            for (int var4 = this.bounds.min.z; var4 < this.bounds.max.z; var4++) {
               this.set(var1, var2, var3, var4);
            }
         }
      }
   }

   @Override
   class="kw">public T get(int var1, int var2, int var3) {
      assert this.bounds.contains(var1, var2, var3);
      int var4 = GridUtils.toIndexFromPositionYXZ(var1, var2, var3, this.bounds);
      class="kw">return this.contents[var4];
   }

   @Nullable
   @Override
   class="kw">public T get(@Nonnull Vector3i var1) {
      class="kw">return this.get(var1.x, var1.y, var1.z);
   }

   @Nonnull
   @Override
   class="kw">public Bounds3i getBounds() {
      class="kw">return this.bounds;
   }
}