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);
}
}
}