MaskVoxelSpace class

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

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

implements: VoxelSpace<Material>

Поля (2)

МодификаторыТипИмя
Bounds3i var2
Material var5

Методы (7)

МодификаторыВозвратСигнатура
for for(int var3 = var2.min.x; var3 < var2.max.x; var3++)
for for(int var4 = var2.min.z; var4 < var2.max.z; var4++)
for for(int var5 = var2.min.y; var5 < var2.max.y; var5++)
public void setvoid set(@Nullable Material var1, int var2, int var3, int var4)
public void setvoid set(@Nullable Material var1, @Nonnull Vector3i var2)
public void setAllvoid setAll(@Nullable Material var1)
public void setSourcevoid setSource(@Nonnull VoxelSpace<Material> var1)

Исходный код

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

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

class="kw">public class MaskVoxelSpace class="kw">implements VoxelSpace<Material> {
   @Nonnull
   class="kw">private class="kw">final BlockMask mask;
   @Nonnull
   class="kw">private VoxelSpace<Material> source;

   class="kw">public MaskVoxelSpace(@Nonnull BlockMask var1, @Nonnull VoxelSpace<Material> var2) {
      this.mask = var1;
      this.source = var2;
   }

   class="kw">public void setSource(@Nonnull VoxelSpace<Material> var1) {
      this.source = var1;
   }

   class="kw">public void set(@Nullable Material var1, int var2, int var3, int var4) {
      assert this.source.getBounds().contains(var2, var3, var4);
      if (this.mask.canPlace(var1.hashMaterialIds())) {
         Material var5 = this.source.get(var2, var3, var4);
         if (this.mask.canReplace(var1.hashMaterialIds(), var5.hashMaterialIds())) {
            this.source.set(var1, var2, var3, var4);
         }
      }
   }

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

   class="kw">public void setAll(@Nullable Material var1) {
      Bounds3i var2 = this.source.getBounds();

      for (int var3 = var2.min.x; var3 < var2.max.x; var3++) {
         for (int var4 = var2.min.z; var4 < var2.max.z; var4++) {
            for (int var5 = var2.min.y; var5 < var2.max.y; var5++) {
               this.set(var1, var3, var5, var4);
            }
         }
      }
   }

   @Nullable
   class="kw">public Material get(int var1, int var2, int var3) {
      class="kw">return this.source.get(var1, var2, var3);
   }

   @Nullable
   class="kw">public Material get(@Nonnull Vector3i var1) {
      class="kw">return this.source.get(var1);
   }

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