Type enum
Пакет: com.hypixel.hytale.server.flock
Файл: com/hypixel/hytale/server/flock/FlockMembership.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final boolean |
actsAsLeader |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
|
INTERIM_LEADER INTERIM_LEADER(true) |
|
public boolean |
isActingAsLeaderpublic boolean isActingAsLeader() |
Исходный код
Показать/скрыть
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.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.role.RoleDebugFlags;
class="kw">import com.hypixel.hytale.server.npc.role.support.DebugSupport;
class="kw">import java.util.EnumSet;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class FlockMembership class="kw">implements Component<EntityStore>, DebugSupport.DebugFlagsChangeListener {
class="kw">public class="kw">static class="kw">final int VERSION = 5;
class="kw">public class="kw">static class="kw">final BuilderCodec<FlockMembership> CODEC = BuilderCodec.builder(FlockMembership.class, FlockMembership::new)
.legacyVersioned()
.codecVersion(5)
.<UUID>append(new KeyedCodec<>("FlockId", Codec.UUID_BINARY), (var0, var1) -> var0.flockId = var1, var0 -> var0.flockId)
.setVersionRange(5, 5)
.add()
.append(
new KeyedCodec<>("Type", new EnumCodec<>(FlockMembership.Type.class, EnumCodec.EnumStyle.LEGACY)),
(var0, var1) -> var0.membershipType = var1,
var0 -> var0.membershipType
)
.add()
.build();
class="kw">private UUID flockId;
class="kw">private FlockMembership.Type membershipType;
@Nullable
class="kw">private Ref<EntityStore> flockRef;
class="kw">private class="kw">transient boolean wasVisFlock;
class="kw">private class="kw">transient boolean listenerRegistered;
class="kw">public FlockMembership() {
}
class="kw">public class="kw">static ComponentType<EntityStore, FlockMembership> getComponentType() {
class="kw">return FlockPlugin.get().getFlockMembershipComponentType();
}
class="kw">public UUID getFlockId() {
class="kw">return this.flockId;
}
class="kw">public void setFlockId(UUID var1) {
this.flockId = var1;
}
@Nullable
class="kw">public Ref<EntityStore> getFlockRef() {
class="kw">return this.flockRef;
}
class="kw">public void setFlockRef(@Nullable Ref<EntityStore> var1) {
this.flockRef = var1;
}
class="kw">public void setMembershipType(FlockMembership.Type var1) {
this.membershipType = var1;
}
class="kw">public FlockMembership.Type getMembershipType() {
class="kw">return this.membershipType;
}
class="kw">public void unload() {
this.flockRef = null;
}
class="kw">public void registerAsDebugListener(@Nonnull DebugSupport var1, @Nonnull Flock var2) {
if (!this.listenerRegistered) {
this.wasVisFlock = var1.isDebugFlagSet(RoleDebugFlags.VisFlock);
var1.registerDebugFlagsListener(this);
this.listenerRegistered = true;
if (this.wasVisFlock) {
var2.incrementVisFlockMemberCount();
}
}
}
class="kw">public void unregisterAsDebugListener(@Nonnull DebugSupport var1, @Nonnull Flock var2) {
if (this.listenerRegistered) {
var1.removeDebugFlagsListener(this);
this.listenerRegistered = false;
if (this.wasVisFlock) {
var2.decrementVisFlockMemberCount();
}
}
}
@Override
class="kw">public void onDebugFlagsChanged(EnumSet<RoleDebugFlags> var1) {
boolean var2 = var1.contains(RoleDebugFlags.VisFlock);
if (var2 != this.wasVisFlock) {
this.wasVisFlock = var2;
if (this.flockRef != null && this.flockRef.isValid()) {
Flock var3 = this.flockRef.getStore().getComponent(this.flockRef, Flock.getComponentType());
if (var3 != null) {
if (var2) {
var3.incrementVisFlockMemberCount();
} else {
var3.decrementVisFlockMemberCount();
}
}
}
}
}
@Nonnull
@Override
class="kw">public Component<EntityStore> clone() {
FlockMembership var1 = new FlockMembership();
var1.flockId = this.flockId;
var1.flockRef = this.flockRef;
var1.membershipType = this.membershipType;
class="kw">return var1;
}
class="kw">public enum Type {
JOINING(false),
MEMBER(false),
LEADER(true),
INTERIM_LEADER(true);
class="kw">private class="kw">final boolean actsAsLeader;
Type(boolean nullxx) {
this.actsAsLeader = nullxx;
}
class="kw">public boolean isActingAsLeader() {
class="kw">return this.actsAsLeader;
}
}
}