SwitchDensity class

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

Файл: com/hypixel/hytale/builtin/hytalegenerator/density/SwitchDensity.java

extends: Density

Поля (3)

МодификаторыТипИмя
private Density[] inputs
int var2
Density var4

Методы (9)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("inputs and switch states have different sizes")
for for(int var3 = 0; var3 < this.switchStates.length; var3++)
for for(int var2 = 0; var2 < this.switchStates.length; var2++)
for for(int var3 = var1.length; var3 < this.inputs.length; var3++)
abstract for for(int var3 = 0; var3 < var2.size()
if if(var1 == null)
if if(this.switchStates[var3] == var2)
if if(var4 == null)
if if(var1.length == 0)

Исходный код

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

class="kw">import it.unimi.dsi.fastutil.ints.IntList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SwitchDensity class="kw">extends Density {
   class="kw">private Density[] inputs;
   @Nonnull
   class="kw">private class="kw">final int[] switchStates;

   class="kw">public SwitchDensity(@Nonnull List<Density> var1, @Nonnull IntList var2) {
      if (var1.size() != var2.size()) {
         throw new IllegalArgumentException("inputs and class="kw">switch states have different sizes");
      }

      this.inputs = new Density[var1.size()];
      this.switchStates = new int[var2.size()];
      var1.toArray(this.inputs);

      for (int var3 = 0; var3 < var2.size(); var3++) {
         this.switchStates[var3] = var2.getInt(var3);
      }
   }

   @Override
   class="kw">public double process(@Nonnull Density.Context var1) {
      if (var1 == null) {
         class="kw">return 0.0;
      }

      int var2 = var1.switchState;

      for (int var3 = 0; var3 < this.switchStates.length; var3++) {
         if (this.switchStates[var3] == var2) {
            Density var4 = this.inputs[var3];
            if (var4 == null) {
               class="kw">return 0.0;
            }

            class="kw">return var4.process(var1);
         }
      }

      class="kw">return 0.0;
   }

   @Override
   class="kw">public void setInputs(@Nonnull Density[] var1) {
      if (var1.length == 0) {
         for (int var2 = 0; var2 < this.switchStates.length; var2++) {
            this.inputs[var2] = null;
         }
      } else if (var1.length < this.inputs.length) {
         System.arraycopy(var1, 0, this.inputs, 0, var1.length);

         for (int var3 = var1.length; var3 < this.inputs.length; var3++) {
            this.inputs[var3] = null;
         }
      } else {
         System.arraycopy(var1, 0, this.inputs, 0, this.inputs.length);
      }
   }
}