PersistentFlockData class
Пакет: com.hypixel.hytale.server.flock
Файл: com/hypixel/hytale/server/flock/PersistentFlockData.java
implements: Component<EntityStore>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
BuilderCodec<PersistentFlockData> |
CODEC |
|
PersistentFlockData |
var1 |
|
String[] |
var3 |
|
ObjectArrayList |
var4 |
Методы (8)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
decreaseSizevoid decreaseSize() |
|
|
for for(String var8 : var3) |
static |
ComponentType<EntityStore, PersistentFlockData> |
getComponentTypeComponentType<EntityStore, PersistentFlockData> getComponentType() |
public |
int |
getMaxGrowSizeint getMaxGrowSize() |
|
|
if if(var1 != null) |
|
|
if if(var3.length > 0 && this.flockAllowedRoles.length > 0) |
public |
void |
increaseSizevoid increaseSize() |
public |
boolean |
isFlockAllowedRoleboolean isFlockAllowedRole(String var1) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.flock;
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.common.util.ArrayUtil;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.flock.config.FlockAsset;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Arrays;
class="kw">import java.util.Collections;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class PersistentFlockData class="kw">implements Component<EntityStore> {
class="kw">public class="kw">static class="kw">final BuilderCodec<PersistentFlockData> CODEC = BuilderCodec.builder(PersistentFlockData.class, PersistentFlockData::new)
.append(new KeyedCodec<>("MaxGrowSize", Codec.INTEGER), (var0, var1) -> var0.maxGrowSize = var1, var0 -> var0.maxGrowSize)
.add()
.append(new KeyedCodec<>("AllowedRoles", Codec.STRING_ARRAY), (var0, var1) -> var0.flockAllowedRoles = var1, var0 -> var0.flockAllowedRoles)
.add()
.append(new KeyedCodec<>("Size", Codec.INTEGER), (var0, var1) -> var0.size = var1, var0 -> var0.size)
.add()
.build();
class="kw">private int maxGrowSize = Integer.MAX_VALUE;
class="kw">private String[] flockAllowedRoles = ArrayUtil.EMPTY_STRING_ARRAY;
class="kw">private int size;
class="kw">public class="kw">static ComponentType<EntityStore, PersistentFlockData> getComponentType() {
class="kw">return FlockPlugin.get().getPersistentFlockDataComponentType();
}
class="kw">public PersistentFlockData(@Nullable FlockAsset var1, @Nonnull String[] var2) {
this.flockAllowedRoles = var2;
Arrays.sort(this.flockAllowedRoles);
if (var1 != null) {
this.maxGrowSize = var1.getMaxGrowSize();
String[] var3 = var1.getBlockedRoles();
if (var3.length > 0 && this.flockAllowedRoles.length > 0) {
ObjectArrayList var4 = new ObjectArrayList(this.flockAllowedRoles.length);
Collections.addAll(var4, this.flockAllowedRoles);
for (String var8 : var3) {
var4.remove(var8);
}
this.flockAllowedRoles = (String[])var4.toArray(String[]::new);
}
}
}
class="kw">private PersistentFlockData() {
}
class="kw">public int getMaxGrowSize() {
class="kw">return this.maxGrowSize;
}
class="kw">public boolean isFlockAllowedRole(String var1) {
class="kw">return Arrays.binarySearch(this.flockAllowedRoles, var1) >= 0;
}
class="kw">public void increaseSize() {
this.size++;
}
class="kw">public void decreaseSize() {
this.size--;
}
@Nonnull
@Override
class="kw">public Component<EntityStore> clone() {
PersistentFlockData var1 = new PersistentFlockData();
var1.maxGrowSize = this.maxGrowSize;
var1.flockAllowedRoles = this.flockAllowedRoles;
var1.size = this.size;
class="kw">return var1;
}
}