WindowVoxelSpace class

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

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

implements: VoxelSpace<T>

Методы (6)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("outside schematic")
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 setBoundsvoid setBounds(@Nonnull Bounds3i var1)
public void setBoundsvoid setBounds(int var1, int var2, int var3, int var4, int var5, int var6)

Исходный код

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

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 WindowVoxelSpace<T> class="kw">implements VoxelSpace<T> {
   @Nonnull
   class="kw">private class="kw">final VoxelSpace<T> source;
   @Nonnull
   class="kw">private class="kw">final Bounds3i bounds;

   class="kw">public WindowVoxelSpace(@Nonnull VoxelSpace<T> var1) {
      this.source = var1;
      this.bounds = var1.getBounds().clone();
   }

   class="kw">public void setBounds(@Nonnull Bounds3i var1) {
      assert this.source.getBounds().contains(var1);
      this.bounds.assign(var1);
   }

   class="kw">public void setBounds(int var1, int var2, int var3, int var4, int var5, int var6) {
      this.bounds.min.set(var1, var2, var3);
      this.bounds.max.set(var4, var5, var6);
   }

   @Nonnull
   class="kw">public VoxelSpace<T> getSourceVoxelSpace() {
      class="kw">return this.source;
   }

   @Override
   class="kw">public void set(T var1, int var2, int var3, int var4) {
      if (this.bounds.contains(var2, var3, var4)) {
         if (this.source.getBounds().contains(var2, var3, var4)) {
            this.source.set(var1, var2, var3, var4);
         }
      }
   }

   @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) {
      if (!this.getBounds().contains(var1, var2, var3)) {
         throw new IllegalArgumentException("outside schematic");
      } else {
         class="kw">return this.source.get(var1, var2, var3);
      }
   }

   @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;
   }
}