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