EntityChunk class
Пакет: com.hypixel.hytale.server.core.universe.world.chunk
Файл: com/hypixel/hytale/server/core/universe/world/chunk/EntityChunk.java
implements: Component<ChunkStore>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
ObjectArrayList |
var1 |
|
ComponentRegistry.Data |
var1 |
|
Holder[] |
var1 |
|
ObjectArrayList |
var2 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(Holder var3 : this.entityHolders) |
|
|
for for(Holder var4 : this.entityHolders) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.universe.world.chunk;
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.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.store.StoredCodec;
class="kw">import com.hypixel.hytale.component.Component;
class="kw">import com.hypixel.hytale.component.ComponentRegistry;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.server.core.modules.LegacyModule;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Collections;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
@Deprecated
class="kw">public class EntityChunk class="kw">implements Component<ChunkStore> {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<EntityChunk> CODEC = BuilderCodec.builder(EntityChunk.class, EntityChunk::new)
.append(new KeyedCodec<>("Entities", new ArrayCodec<>(new StoredCodec<>(EntityStore.HOLDER_CODEC_KEY), Holder[]::new)), (var0, var1) -> {
var0.entityHolders.clear();
Collections.addAll(var0.entityHolders, var1);
}, var0 -> var0.entityHolders.toArray(new Holder[var0.entityHolders.size()]))
.add()
.build();
@Nonnull
class="kw">private class="kw">final List<Holder<EntityStore>> entityHolders;
@Nonnull
class="kw">public class="kw">static ComponentType<ChunkStore, EntityChunk> getComponentType() {
class="kw">return LegacyModule.get().getEntityChunkComponentType();
}
class="kw">public EntityChunk() {
this.entityHolders = new ObjectArrayList();
}
class="kw">public EntityChunk(@Nonnull List<Holder<EntityStore>> var1) {
this.entityHolders = var1;
}
@Nonnull
@Override
class="kw">public Component<ChunkStore> clone() {
ObjectArrayList var1 = new ObjectArrayList(this.entityHolders.size());
for (Holder var3 : this.entityHolders) {
var1.add(var3.clone());
}
class="kw">return new EntityChunk(var1);
}
@Nonnull
@Override
class="kw">public Component<ChunkStore> cloneSerializable() {
ComponentRegistry.Data var1 = EntityStore.REGISTRY.getData();
ObjectArrayList var2 = new ObjectArrayList(this.entityHolders.size());
for (Holder var4 : this.entityHolders) {
if (var4.getArchetype().hasSerializableComponents(var1)) {
var2.add(var4.cloneSerializable(var1));
}
}
class="kw">return new EntityChunk(var2);
}
@Nullable
class="kw">public Holder<EntityStore>[] takeEntityHolders() {
if (this.entityHolders.isEmpty()) {
class="kw">return null;
}
Holder[] var1 = this.entityHolders.toArray(Holder[]::new);
this.entityHolders.clear();
class="kw">return var1;
}
}