EntityGroup class

Пакет: com.hypixel.hytale.server.core.entity.group

Файл: com/hypixel/hytale/server/core/entity/group/EntityGroup.java

implements: Component<EntityStore>

Поля (6)

МодификаторыТипИмя
EntityGroup var1
Ref var4
Ref var4
Ref var6
Ref var7
Ref var7

Методы (27)

МодификаторыВозвратСигнатура
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Attempting to add entity " + var1 + " that is already a member of the group!")
abstract throw new IllegalStateExceptionthrow new IllegalStateException("Attempting to remove entity " + var1 + " that is not a member of the group!")
public void addvoid add(@Nonnull Ref<EntityStore> var1)
public void clearvoid clear()
abstract for for(int var5 = 0; var5 < this.memberList.size()
abstract for for(int var6 = 0; var6 < this.memberList.size()
abstract for for(int var3 = 0; var3 < this.memberList.size()
public <T> void forEachMember<T> void forEachMember(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3)
public <T> void forEachMember<T> void forEachMember(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, Ref<EntityStore> var4)
public <T, V> void forEachMember<T, V> void forEachMember(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4)
public <T, V> void forEachMember<T, V> void forEachMember(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4, Ref<EntityStore> var5)
public <T> void forEachMember<T> void forEachMember(@Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, int var4)
public <T> void forEachMember<T> void forEachMember(@Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, int var4, Ref<EntityStore> var5)
public <T> void forEachMember<T> void forEachMember(@Nonnull IntBiObjectConsumer<Ref<EntityStore>, T> var1, T var2)
public <T> void forEachMemberExcludingLeader<T> void forEachMemberExcludingLeader(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3)
public <T, V> void forEachMemberExcludingLeader<T, V> void forEachMemberExcludingLeader(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4)
public <T, V> void forEachMemberExcludingLeader<T, V> void forEachMemberExcludingLeader(@Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, int var4)
public <T> void forEachMemberExcludingSelf<T> void forEachMemberExcludingSelf(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3)
public <T, V> void forEachMemberExcludingSelf<T, V> void forEachMemberExcludingSelf(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4)
public <T, V> void forEachMemberExcludingSelf<T, V> void forEachMemberExcludingSelf(@Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, @Nonnull Ref<EntityStore> var2, T var3, int var4)
static ComponentType<EntityStore, EntityGroup> getComponentTypeComponentType<EntityStore, EntityGroup> getComponentType()
public boolean isDissolvedboolean isDissolved()
public boolean isMemberboolean isMember(Ref<EntityStore> var1)
public void removevoid remove(@Nonnull Ref<EntityStore> var1)
public void setDissolvedvoid setDissolved(boolean var1)
public void setLeaderRefvoid setLeaderRef(@Nonnull Ref<EntityStore> var1)
public int sizeint size()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.entity.group;

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.function.consumer.IntBiObjectConsumer;
class="kw">import com.hypixel.hytale.function.consumer.IntTriObjectConsumer;
class="kw">import com.hypixel.hytale.function.consumer.QuadConsumer;
class="kw">import com.hypixel.hytale.function.consumer.TriConsumer;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ReferenceArrayList;
class="kw">import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
class="kw">import java.util.List;
class="kw">import java.util.Set;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class EntityGroup class="kw">implements Component<EntityStore> {
   @Nonnull
   class="kw">private class="kw">final Set<Ref<EntityStore>> memberSet = new ReferenceOpenHashSet();
   @Nonnull
   class="kw">private class="kw">final List<Ref<EntityStore>> memberList = new ReferenceArrayList();
   @Nullable
   class="kw">private Ref<EntityStore> leaderRef;
   class="kw">private boolean dissolved;

   class="kw">public EntityGroup() {
   }

   class="kw">public class="kw">static ComponentType<EntityStore, EntityGroup> getComponentType() {
      class="kw">return EntityModule.get().getEntityGroupComponentType();
   }

   @Nullable
   class="kw">public Ref<EntityStore> getLeaderRef() {
      class="kw">return this.leaderRef;
   }

   class="kw">public void setLeaderRef(@Nonnull Ref<EntityStore> var1) {
      this.leaderRef = var1;
   }

   class="kw">public void add(@Nonnull Ref<EntityStore> var1) {
      if (!this.memberSet.add(var1)) {
         throw new IllegalStateException("Attempting to add entity " + var1 + " that is already a member of the group!");
      }

      this.memberList.add(var1);
   }

   class="kw">public void remove(@Nonnull Ref<EntityStore> var1) {
      if (!this.memberSet.remove(var1)) {
         throw new IllegalStateException("Attempting to remove entity " + var1 + " that is not a member of the group!");
      }

      this.memberList.remove(var1);
   }

   @Nullable
   class="kw">public Ref<EntityStore> getFirst() {
      class="kw">return !this.memberList.isEmpty() ? this.memberList.getFirst() : null;
   }

   @Nonnull
   class="kw">public List<Ref<EntityStore>> getMemberList() {
      class="kw">return this.memberList;
   }

   class="kw">public int size() {
      class="kw">return this.memberSet.size();
   }

   class="kw">public boolean isDissolved() {
      class="kw">return this.dissolved;
   }

   class="kw">public void setDissolved(boolean var1) {
      this.dissolved = var1;
   }

   class="kw">public void clear() {
      this.memberSet.clear();
      this.memberList.clear();
      this.leaderRef = null;
      this.dissolved = true;
   }

   class="kw">public boolean isMember(Ref<EntityStore> var1) {
      class="kw">return !this.dissolved && this.memberSet.contains(var1);
   }

   class="kw">public <T> void forEachMemberExcludingLeader(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3) {
      this.forEachMember(var1, var2, var3, this.leaderRef);
   }

   class="kw">public <T> void forEachMemberExcludingSelf(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3) {
      this.forEachMember(var1, var2, var3, var2);
   }

   class="kw">public <T> void forEachMember(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3) {
      this.forEachMember(var1, var2, var3, null);
   }

   class="kw">public <T> void forEachMember(@Nonnull TriConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, Ref<EntityStore> var4) {
      for (int var5 = 0; var5 < this.memberList.size(); var5++) {
         Ref var6 = this.memberList.get(var5);
         if (var6.isValid() && !var6.equals(var4)) {
            var1.accept(var6, var2, var3);
         }
      }
   }

   class="kw">public <T, V> void forEachMemberExcludingLeader(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4) {
      this.forEachMember(var1, var2, var3, var4, this.leaderRef);
   }

   class="kw">public <T, V> void forEachMemberExcludingSelf(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4) {
      this.forEachMember(var1, var2, var3, var4, var2);
   }

   class="kw">public <T, V> void forEachMember(@Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4) {
      this.forEachMember(var1, var2, var3, var4, null);
   }

   class="kw">public <T, V> void forEachMember(
      @Nonnull QuadConsumer<Ref<EntityStore>, Ref<EntityStore>, T, V> var1, Ref<EntityStore> var2, T var3, V var4, Ref<EntityStore> var5
   ) {
      for (int var6 = 0; var6 < this.memberList.size(); var6++) {
         Ref var7 = this.memberList.get(var6);
         if (var7.isValid() && !var7.equals(var5)) {
            var1.accept(var7, var2, var3, var4);
         }
      }
   }

   class="kw">public <T, V> void forEachMemberExcludingLeader(
      @Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, int var4
   ) {
      this.forEachMember(var1, var2, var3, var4, this.leaderRef);
   }

   class="kw">public <T, V> void forEachMemberExcludingSelf(
      @Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, @Nonnull Ref<EntityStore> var2, T var3, int var4
   ) {
      this.forEachMember(var1, var2, var3, var4, var2);
   }

   class="kw">public <T> void forEachMember(@Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, int var4) {
      this.forEachMember(var1, var2, var3, var4, null);
   }

   class="kw">public <T> void forEachMember(
      @Nonnull IntTriObjectConsumer<Ref<EntityStore>, Ref<EntityStore>, T> var1, Ref<EntityStore> var2, T var3, int var4, Ref<EntityStore> var5
   ) {
      for (int var6 = 0; var6 < this.memberList.size(); var6++) {
         Ref var7 = this.memberList.get(var6);
         if (var7.isValid() && !var7.equals(var5)) {
            var1.accept(var4, var7, var2, var3);
         }
      }
   }

   class="kw">public <T> void forEachMember(@Nonnull IntBiObjectConsumer<Ref<EntityStore>, T> var1, T var2) {
      for (int var3 = 0; var3 < this.memberList.size(); var3++) {
         Ref var4 = this.memberList.get(var3);
         if (var4.isValid()) {
            var1.accept(var3, var4, var2);
         }
      }
   }

   @Nullable
   class="kw">public Ref<EntityStore> testMembers(@Nonnull Predicate<Ref<EntityStore>> var1, boolean var2) {
      for (int var3 = 0; var3 < this.memberList.size(); var3++) {
         Ref var4 = this.memberList.get(var3);
         if (var4.isValid() && (!var2 || !var4.equals(this.leaderRef)) && var1.test(var4)) {
            class="kw">return var4;
         }
      }

      class="kw">return null;
   }

   @Nonnull
   @Override
   class="kw">public Component<EntityStore> clone() {
      EntityGroup var1 = new EntityGroup();
      var1.memberSet.addAll(this.memberSet);
      var1.memberList.addAll(this.memberList);
      var1.leaderRef = this.leaderRef;
      var1.dissolved = this.dissolved;
      class="kw">return var1;
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "EntityGroup{leader="
         + this.leaderRef
         + ", memberSet="
         + this.memberSet
         + ", memberList="
         + this.memberList
         + ", dissolved="
         + this.dissolved
         + "}";
   }
}