Block class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/props/ManualProp.java

Поля (2)

МодификаторыТипИмя
public final Material material
public final Vector3i position

Методы (1)

МодификаторыВозвратСигнатура
public ManualProp.Block clonepublic ManualProp.Block clone()

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.material.Material;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;

class="kw">public class ManualProp class="kw">extends Prop {
   @Nonnull
   class="kw">private class="kw">final List<ManualProp.Block> blocks;
   @Nonnull
   class="kw">private class="kw">final Bounds3i bounds = new Bounds3i();
   @Nonnull
   class="kw">private class="kw">final Vector3i rPosition;

   class="kw">public ManualProp(@Nonnull List<ManualProp.Block> var1) {
      this.blocks = new ArrayList<>(var1.size());

      for (ManualProp.Block var3 : var1) {
         this.blocks.add(var3.clone());
         this.bounds.encompass(var3.position);
      }

      this.rPosition = new Vector3i();
   }

   @Override
   class="kw">public boolean generate(@Nonnull Prop.Context var1) {
      Bounds3i var2 = var1.materialWriteSpace.getBounds();

      for (ManualProp.Block var4 : this.blocks) {
         this.rPosition.set(var4.position);
         this.rPosition.add(var1.position);
         if (var2.contains(this.rPosition)) {
            var1.materialWriteSpace.set(var4.material, this.rPosition);
         }
      }

      class="kw">return true;
   }

   @Nonnull
   @Override
   class="kw">public Bounds3i getReadBounds_voxelGrid() {
      class="kw">return Bounds3i.ZERO;
   }

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

   class="kw">public class="kw">static class Block {
      class="kw">public class="kw">final Material material;
      class="kw">public class="kw">final Vector3i position;

      class="kw">public Block(@Nonnull Material var1, @Nonnull Vector3i var2) {
         this.material = var1;
         this.position = new Vector3i(var2);
      }

      @Nonnull
      class="kw">public ManualProp.Block clone() {
         class="kw">return new ManualProp.Block(this.material, this.position);
      }
   }
}