AssignedPropDistribution class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/propdistributions/AssignedPropDistribution.java

extends: PropDistribution

Поля (1)

МодификаторыТипИмя
Prop var4

Методы (2)

МодификаторыВозвратСигнатура
public void acceptpublic void accept(@Nonnull Vector3d var1, @Nonnull Prop var2, @Nonnull Control var3)
if if(var2 != EmptyProp.INSTANCE && !AssignedPropDistribution.this.isOverrideAllProps)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.assignments.Assignments;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.pipe.Control;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.pipe.Pipe;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.EmptyProp;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.props.Prop;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.workerindexer.WorkerIndexer;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class AssignedPropDistribution class="kw">extends PropDistribution {
   @Nonnull
   class="kw">private class="kw">final PropDistribution propDistribution;
   @Nonnull
   class="kw">private class="kw">final Assignments assignments;
   class="kw">private class="kw">final boolean isOverrideAllProps;
   @Nonnull
   class="kw">private class="kw">final PropDistribution.Context rPropDistributionContext;
   @Nonnull
   class="kw">private PropDistribution.Context rContext;
   @Nonnull
   class="kw">private class="kw">final Pipe.Two<Vector3d, Prop> rChildPipe = new Pipe.Two<Vector3d, Prop>() {
      class="kw">public void accept(@Nonnull Vector3d var1, @Nonnull Prop var2, @Nonnull Control var3) {
         if (var2 != EmptyProp.INSTANCE && !AssignedPropDistribution.this.isOverrideAllProps) {
            AssignedPropDistribution.this.rContext.pipe.accept(var1, var2, var3);
         } else {
            Prop var4 = AssignedPropDistribution.this.assignments
               .propAt(var1, WorkerIndexer.Id.MAIN, AssignedPropDistribution.this.rContext.distanceFromBiomeEdge);
            AssignedPropDistribution.this.rContext.pipe.accept(var1, var4, var3);
         }
      }
   };

   class="kw">public AssignedPropDistribution(@Nonnull PropDistribution var1, @Nonnull Assignments var2, boolean var3) {
      this.propDistribution = var1;
      this.assignments = var2;
      this.isOverrideAllProps = var3;
      this.rPropDistributionContext = new PropDistribution.Context();
      this.rContext = PropDistribution.Context.DEFAULT_INSTANCE;
   }

   @Override
   class="kw">public void distribute(@Nonnull PropDistribution.Context var1) {
      this.rContext = var1;
      this.rPropDistributionContext.assign(var1);
      this.rPropDistributionContext.pipe = this.rChildPipe;
      this.propDistribution.distribute(this.rPropDistributionContext);
      this.rPropDistributionContext.clearReferences();
      this.rContext = PropDistribution.Context.DEFAULT_INSTANCE;
   }

   @Override
   class="kw">public void forEachPossibleProp(@Nonnull Consumer<Prop> var1) {
      this.assignments.getAllPossibleProps().forEach(var1);
      this.propDistribution.forEachPossibleProp(var1);
   }
}