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