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