RangeSizeFlockAsset class
Пакет: com.hypixel.hytale.server.flock.config
Файл: com/hypixel/hytale/server/flock/config/RangeSizeFlockAsset.java
extends: FlockAsset
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<RangeSizeFlockAsset> |
CODEC |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
int[] |
getSizeint[] getSize() |
abstract |
|
super super(var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.flock.config;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.codec.validation.validator.IntArrayValidator;
class="kw">import com.hypixel.hytale.math.random.RandomExtra;
class="kw">import java.util.Arrays;
class="kw">import javax.annotation.Nonnull;
class="kw">public class RangeSizeFlockAsset class="kw">extends FlockAsset {
class="kw">public class="kw">static class="kw">final BuilderCodec<RangeSizeFlockAsset> CODEC = BuilderCodec.<FlockAsset>builder(
RangeSizeFlockAsset.class, RangeSizeFlockAsset::new, ABSTRACT_CODEC
)
.documentation("A flock definition in which the initial random size is picked from a range.")
.<int[]>appendInherited(
new KeyedCodec<>("Size", Codec.INT_ARRAY), (var0, var1) -> var0.size = var1, var0 -> var0.size, (var0, var1) -> var0.size = var1.size
)
.documentation(
"An array with two values specifying the random range from which to pick the size of the flock when it spawns. e.g. [ 2, 4 ] will randomly pick a size between two and four (inclusive)."
)
.addValidator(Validators.nonNull())
.addValidator(Validators.intArraySize(2))
.addValidator(new IntArrayValidator(Validators.greaterThan(0)))
.add()
.build();
class="kw">private class="kw">static class="kw">final int[] DEFAULT_SIZE = new int[]{1, 1};
class="kw">protected int[] size = DEFAULT_SIZE;
class="kw">protected RangeSizeFlockAsset(String var1) {
super(var1);
}
class="kw">protected RangeSizeFlockAsset() {
}
class="kw">public int[] getSize() {
class="kw">return this.size;
}
@Override
class="kw">public int getMinFlockSize() {
class="kw">return this.size[0];
}
@Override
class="kw">public int pickFlockSize() {
class="kw">return RandomExtra.randomRange(Math.max(1, this.size[0]), this.size[1]);
}
@Nonnull
class="kw">public class="kw">static RangeSizeFlockAsset getUnknownFor(String var0) {
class="kw">return new RangeSizeFlockAsset(var0);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "RangeSizeFlockAsset{size=" + Arrays.toString(this.size) + "} " + super.toString();
}
}