HyCodeYourTale
classpublicPriority 3

DensityDelimitedEnvironmentProvider

com.hypixel.hytale.builtin.hytalegenerator.environmentproviders.DensityDelimitedEnvironmentProvider

extends EnvironmentProvider

1

Methods

1

Public Methods

1

Fields

1

Constructors

Constructors

public
DensityDelimitedEnvironmentProvider(List<DelimiterDouble<EnvironmentProvider>> delimiters, Density density)

Methods

Public Methods (1)

public
int getValue(EnvironmentProvider.Context context)
@Override

Fields

Private/Package Fields (1)

privateDensity density

Inheritance

Parent
Current
Interface
Child

Use mouse wheel to zoom, drag to pan. Click nodes to navigate.

Related Classes

Source Code

package com.hypixel.hytale.builtin.hytalegenerator.environmentproviders;

import com.hypixel.hytale.builtin.hytalegenerator.delimiters.DelimiterDouble;
import com.hypixel.hytale.builtin.hytalegenerator.delimiters.RangeDouble;
import com.hypixel.hytale.builtin.hytalegenerator.density.Density;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;

public class DensityDelimitedEnvironmentProvider extends EnvironmentProvider {
   @Nonnull
   private final List<DelimiterDouble<EnvironmentProvider>> delimiters = new ArrayList<>();
   @Nonnull
   private final Density density;

   public DensityDelimitedEnvironmentProvider(@Nonnull List<DelimiterDouble<EnvironmentProvider>> delimiters, @Nonnull Density density) {
      for (DelimiterDouble<EnvironmentProvider> delimiter : delimiters) {
         RangeDouble range = delimiter.getRange();
         if (!(range.min() >= range.max())) {
            this.delimiters.add(delimiter);
         }
      }

      this.density = density;
   }

   @Override
   public int getValue(@Nonnull EnvironmentProvider.Context context) {
      double densityValue = this.density.process(new Density.Context(context));

      for (DelimiterDouble<EnvironmentProvider> delimiter : this.delimiters) {
         if (delimiter.getRange().contains(densityValue)) {
            return delimiter.getValue().getValue(context);
         }
      }

      return 0;
   }
}